路由組也可以嵌套,但是需要注意的是當進行嵌套時下一層的需要調用Group方法(設置路由前綴)是需要用上一層的進行調用:
shopGroup := userGroup.Group("/shop")
代碼:
1 import ( 2 "github.com/gin-gonic/gin" 3 "net/http" 4 ) 5 6 func main() { 7 r := gin.Default()
//設置路由前綴 調用Group方法 8 userGroup := r.Group("/user") 9 { 10 userGroup.GET("/index", func(c *gin.Context) { 11 c.JSON(http.StatusOK, gin.H{ 12 "message": "user/index", 13 }) 14 }) 15 userGroup.GET("/login", func(c *gin.Context) { 16 c.JSON(http.StatusOK, gin.H{ 17 "message": "user/login", 18 }) 19 }) 20 shopGroup := userGroup.Group("/shop") 21 { 22 shopGroup.GET("/index", func(c *gin.Context) { 23 c.JSON(http.StatusOK, gin.H{ 24 "message": "/user/shop/index", 25 }) 26 }) 27 } 28 } 29 r.Run() 30 }
運行結果:
路由分組:

路由組的嵌套運行結果:

