2024-04-25 15:05:47
릴리즈 노트: https://go.dev/doc/go1.22
Go 1.22 버전에서 net/http 패키지에서 서버 라우팅이 개선되었다.
이제 별도의 라이브러리 없이 라우팅 핸들러를 등록할 때 메소드를 지정하고 동적인 경로를 사용할 수 있다.
앞으로는 간단한 서버를 만들 때. 추가적인 의존성 없이 Go 만으로도 꽤 쓸만한 웹 서버를 작성할 수 있게 되었다.
package main
import (
"net/http"
)
func main() {
http.HandleFunc("GET /{test}", func(w http.ResponseWriter, req *http.Request) {
w.Write([]byte(req.PathValue("test")))
})
http.ListenAndServe(":8888", nil)
}
예시 코드이다. 동작 시 GET 요청으로만 매칭되고 경로를 동적으로 지정하고 경로명을 참조할 수 있다.
예제 샘플 접근 예시이다.
그 외에도 /file/{path...}
이런 식으로 파일 경로에 사용하기 좋은 패턴도 존재한다.