메모용 개발 블로그
  • Home

Categories

  • All Posts116
  • OS35
    • Linux23
    • MacOS8
    • Windows4
  • 데이터베이스3
    • Oracle1
    • Postgresql1
  • Develop26
    • CSS33
    • Go8
    • HTML52
    • Java1
    • JavaScript4
    • React2
    • Svelte2
  • 개발일기10
  • Docker1
  • Git3
  • GitLab12
  • Nginx7
  • 기타16
  • 이 블로그의 오픈소스3
Go•2024년 4월 25일

Go 1.22 net/http 라우팅 개선

Table of Contents

  • Go 1.22 net/http 라우팅 개선

릴리즈 노트: 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...} 이런 식으로 파일 경로에 사용하기 좋은 패턴도 존재한다.

← Back to all posts