경로 정의로 인해 기본 파일이 복잡해지는 것을 방지하기 위해 경로를 별도의 파일로 그룹화할 수 있습니다. 이 접근 방식을 사용하면 더 나은 코드 구성 및 유지 관리가 가능합니다.
중첩 경로 그룹을 생성하려면 라우터 변수를 구조체 또는 전역 변수에 저장할 수 있습니다. 그러면 개별 파일이 이 공유 라우터 인스턴스에 핸들러를 추가할 수 있습니다.
routes.go
package app
import (
"github.com/gin-gonic/gin"
)
type routes struct {
router *gin.Engine
}
func NewRoutes() routes {
return routes{
router: gin.Default(),
}
}
func (r routes) addPing(rg *gin.RouterGroup) { }
func (r routes) addUsers(rg *gin.RouterGroup) { }
func (r routes) Run(addr ...string) error { return r.router.Run() }
ping.go
package app
import "github.com/gin-gonic/gin"
func (r routes) addPing(rg *gin.RouterGroup) {
ping := rg.Group("/ping")
ping.GET("/", pongFunction)
}
users.go
package app
import "github.com/gin-gonic/gin"
func (r routes) addUsers(rg *gin.RouterGroup) {
users := rg.Group("/users")
users.GET("/", getUsersFunction)
}
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3