Programming/golang2022. 8. 31. 18:00

golang을 이용해서 rest 서버를 만드는데 가장 만만한(?) 녀석은

net/http 모듈의 http.HandleFunc() 인데

 

pattern 이라고 써넣고는 막상 설명이 없다.

func HandleFunc(pattern string, handler func(ResponseWriter, *Request))

[링크 : https://pkg.go.dev/net/http#HandleFunc]

 

음.. 소스를 봐도 모르겠다.

// Handle registers the handler for the given pattern.
// If a handler already exists for pattern, Handle panics.
func (mux *ServeMux) Handle(pattern string, handler Handler) {
mux.mu.Lock()
defer mux.mu.Unlock()

if pattern == "" {
panic("http: invalid pattern")
}
if handler == nil {
panic("http: nil handler")
}
if _, exist := mux.m[pattern]; exist {
panic("http: multiple registrations for " + pattern)
}

if mux.m == nil {
mux.m = make(map[string]muxEntry)
}
e := muxEntry{h: handler, pattern: pattern}
mux.m[pattern] = e
if pattern[len(pattern)-1] == '/' {
mux.es = appendSorted(mux.es, e)
}

if pattern[0] != '/' {
mux.hosts = true
}
}

[링크 : https://cs.opensource.google/go/go/+/refs/tags/go1.19:src/net/http/server.go;drc=ddc93a536faf4576d182cd3197b116d61d05c484;l=2480]

 

걍.. gin 모듈을 쓰는게 속 편하려나?

[링크 : https://stackoverflow.com/questions/6564558/wildcards-in-the-pattern-for-http-handlefunc]

 

'Programming > golang' 카테고리의 다른 글

golang http redirect  (0) 2022.09.02
golang html form post 처리하기  (0) 2022.09.02
golang mariadb 연동  (0) 2022.08.30
golang channel  (0) 2022.08.18
golang unused import  (0) 2022.07.20
Posted by 구차니