亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在杜松子酒中對路線進行分組?

如何在杜松子酒中對路線進行分組?

Go
aluckdog 2022-06-13 17:32:02
我想將我的路線分組在不同的文件中,所以主文件不會很亂。我想要在他們自己的文件中這樣的東西:v1 := router.Group("/v1"){  v1.Group("users", usersRoutes)  v1.Group("pictures", picturesRoutes)  v1.Group("friends", friendsRoutes)}所以每一個*Routes看起來像這樣:users := v1.Group("/users"){  users.GET("/", getUsers)  users.POST("/", createUser)}這可能嗎?現在我的代碼如下所示:package appimport (    "net/http"    "github.com/gin-gonic/gin")func getUrls() {    v1 := router.Group("/v1")    {        ping := v1.Group("/ping")        {            ping.GET("/", pongFunction)        }        users := v1.Group("/users")        {            users.GET("/", getUsersFunction)        }    }}但這將大大增加其規模。
查看完整描述

1 回答

?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

您需要將路由器變量存儲在您的結構或全局變量中。然后各個 go 文件將向該變量添加處理程序。這是一個例子:


路線.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()

}

乒乓球


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",

    })

}

用戶.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": "...",

    })

}


查看完整回答
反對 回復 2022-06-13
  • 1 回答
  • 0 關注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號