將路由組織到單獨的文件中是減少主路由器文件的混亂和復雜性的常見做法。在 Gin 中,這可以透過利用 Group 方法來實現。
一種方法是將路由器變數儲存為結構成員或全域變量,允許單一檔案向其添加處理程序。這是一個例子:
<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>
利用這種方法,每個函數檔案都可以在其特定群組中定義處理程序,保持主程式碼庫的組織和模組化。
以上是如何建立 Gin 路由以實現乾淨的程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!