라우트를 별도의 파일로 구성하는 것은 기본 라우터 파일의 복잡함과 복잡성을 줄이는 일반적인 방법입니다. Gin에서는 그룹 방법을 활용하여 이를 달성할 수 있습니다.
한 가지 접근 방식은 라우터 변수를 구조체 멤버 또는 전역 변수로 저장하여 개별 파일이 핸들러를 추가할 수 있도록 하는 것입니다. 예는 다음과 같습니다.
<code class="go">package app import ( "github.com/gin-gonic/gin" ) type routes struct { router *gin.Engine } func NewRoutes() routes { r := routes{ router: gin.Default(), } v1 := r.router.Group("/v1") r.addPing(v1) r.addUsers(v1) return r } func (r routes) Run(addr ...string) error { return r.router.Run() }</code>
<code class="go">package app import "github.com/gin-gonic/gin" func (r routes) addPing(rg *gin.RouterGroup) { ping := rg.Group("/ping") ping.GET("/", pongFunction) } func pongFunction(c *gin.Context) { c.JSON(200, gin.H{ "message": "pong", }) }</code>
<code class="go">package app import "github.com/gin-gonic/gin" func (r routes) addUsers(rg *gin.RouterGroup) { users := rg.Group("/users") users.GET("/", getUsersFunction) } func getUsersFunction(c *gin.Context) { c.JSON(200, gin.H{ "users": "...", }) }</code>
이 접근 방식을 활용 , 각 함수 파일은 특정 그룹 내에서 핸들러를 정의하여 기본 코드베이스를 체계적이고 모듈식으로 유지할 수 있습니다.
위 내용은 깨끗한 코드를 위해 진 경로를 구성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!