gin Router 의 차이점은? (Default 와 New)
gin.Default() 및 gin.New() 함수는 Gin 엔진의 라우터를 생성하는 데 사용됩니다.
우선 샘플코드는 아래와 같습니다.
두 예제 모두 "/hello" 엔드포인트로 들어오는 GET 요청에 대해 "Hello, world!" 메시지를 JSON 형식으로 반환하는 간단한 Gin 애플리케이션을 보여줍니다.
하나는 gin.Default()를 사용하여 Gin 엔진을 생성하고, 다른 하나는 gin.New()를 사용합니다.
gin.Default()
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
// gin.Default()를 사용하여 Gin 엔진을 생성합니다.
r := gin.Default()
// 라우터 설정
r.GET("/hello", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"message": "Hello, world!"})
})
// 서버 실행
if err := r.Run(":8080"); err != nil {
panic(err)
}
}
gin.New()
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
// gin.New()를 사용하여 Gin 엔진을 생성합니다.
r := gin.New()
// 라우터 설정
r.GET("/hello", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"message": "Hello, world!"})
})
// 서버 실행
if err := r.Run(":8080"); err != nil {
panic(err)
}
}
이 두 가지 함수 간의 주요 차이점은 다음과 같습니다:
1.루트 핸들러 설정 차이
gin.Default() 함수를 사용하여 생성된 Gin 엔진은 기본적으로 루트 핸들러에 Logger 및 Recovery 미들웨어를 설정합니다. 이는 개발 및 테스트 목적으로 유용하며, 요청 및 오류에 대한 로그를 표준 출력으로 보낼 수 있습니다.
gin.New() 함수를 사용하여 생성된 Gin 엔진은 루트 핸들러에 어떤 기본 미들웨어도 설정하지 않습니다.
이는 사용자가 직접 미들웨어를 추가하고 관리하려는 경우에 유용합니다.
2.기본 미들웨어 차이
gin.Default() 함수를 사용하여 생성된 Gin 엔진은 Logger 및 Recovery 미들웨어를 자동으로 추가합니다.
gin.New() 함수를 사용하여 생성된 Gin 엔진은 어떤 기본 미들웨어도 추가하지 않습니다.
일반적으로 개발 및 테스트를 위한 목적으로는 gin.Default()를 사용하는 것이 편리합니다.
그러나 프로덕션 환경에서는 gin.New()를 사용하여 라우터를 생성하고 필요한 미들웨어를 직접 추가하는 것이 좋습니다.
이렇게 하면 불필요한 미들웨어를 포함하지 않고 더 가벼운 애플리케이션을 유지할 수 있습니다.
오늘의 티스토리는 여기까지고요.
항상 믿고 봐주셔서 감사합니다.
'좋아하는 것_매직IT > 7.gin' 카테고리의 다른 글
웹 크롤링 프레임워크 Colly로 블로터 최신 뉴스를 공유 할 수 있다고? (0) | 2024.10.22 |
---|---|
Coinpaprika Openapi 와 텔레그램 봇을 활용한 가상화폐 검색 기능 간단 구현! (0) | 2024.09.22 |
Tmap Openapi 와 텔레그램 봇을 활용한 주변 맛집 검색 기능 간단 구현! (0) | 2024.07.31 |
Golang 과 텔레그램 봇을 활용한 구글 스프레드시트 모니터링 (2) | 2024.05.15 |
0.Gin, Gin 이란 무엇인가? ^^ (0) | 2021.01.05 |