728x90
Golang Gin Router
저번에 이어서 기본적으로 web server를 배울 때 Router가 기본이라고 생각이 들어서, Router에 대해 찾아봤다.
Vue / React를 할때도 Router를 기본으로 셋업하긴 했다.
저번에 이어서 바로 Router를 적용하면
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func setupRouter() *gin.Engine {
r := gin.Default()
v1 := r.Group("/api/v1")
{
v1.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
v1.GET("/hello/:name", func(c *gin.Context) {
name := c.Param("name")
c.String(http.StatusOK, "Hello %s", name)
})
}
return r
}
func main() {
r := setupRouter()
r.Run(":8080")
}
go run main.go로 실행하면 된다.
말 그대로 Router group을 사용하여 좀 더 세분화 해봤다.
/api/v1으로 Router를 group하고, 하위로 /ping, /hello/:name의 주소가 존재한다.
즉 /api/v1/ping과 api/v1/hello/:name 2개의 Router를 생성한 것
ping - pong도 JSON을 return하는 예시로 바꿔봤고,
hello는 name을 받아서 param을 그대로 리턴해주는 예시이다.
추가로 http라이브러리를 통해 Status까지 같이 사용했다.
localhost:8080/api/v1/ping 로 페이지를 켜보면
이런식으로 JSON으로 메세지가 반환이 된다.
localhost:8080/api/v1/hello/dev-chicken으로 접속하면
요로코롬 뒤에 dev-chicken을 파라미터로 받아서 그대로 보여준다.
반응형
'개발 > 개발공부' 카테고리의 다른 글
Golang Gin Graceful restart, stop / golang, go, 고랭, 고, 언어 (2) | 2023.02.16 |
---|---|
Golang Gin Middleware / golang, go, 고랭, 고, 언어, 미들웨어 (0) | 2023.02.07 |
Golang Gin Framework 시작 / golang, go, 고랭, 고, 언어, 진, 프레임워크 (0) | 2023.02.03 |
Kubernetes DaemonSet / 쿠버네티스, 데몬셋, 서비스, Pattern, 패턴 (0) | 2023.01.28 |
Kubernetes Statefulset / 쿠버네티스, 워크로드, 스테이트풀셋, 서비스 (0) | 2023.01.27 |
댓글