很明显随着我们后期的开发main函数的路由会变得很多,这时候便有路由分组的办法了
根据我们路由的有不同功能,不难想到我们会把同一组的分在一起,比如属于admin的。属于default的,user的

如图所示我们在routers下建立三个路由,我们用到的路由分组的方法是
defaultRouters:=route.Group("/") { defaultRouter.GET("/",func(context *gin.Context){ context.HTML(200,"default/index.html",nil) }) defaultRouter.GET("/news",func(context *gin.Context){ context.HTML(200,"default/news.html",nil) }) }
|
注意Group方法的大括号得换行占一行,这样我们就建立了/,/news页面
然后具体到每个路由
routers/adminRouters.go
package routers
import( "github.com/gin-gonic/gin" )
func AdminRoutersInit(route *gin.Engine){ adminRouters:=route.Group("/admin") { adminRouters.GET("/", func(context *gin.Context) { context.String(200, "我是admin") }) adminRouters.GET("/user", func(context *gin.Context) { context.String(200, "我是admin/user") }) adminRouters.GET("/user/add", func(context *gin.Context) { context.String(200, "我是admin/user/add") }) adminRouters.GET("/user/edit", func(context *gin.Context) { context.String(200, "我是admin/user/edit") }) }
}
|
为了让我们的方法被访问,得将方法名首字母大写
routers/defaultRouters.go
package router
import( "github.com/gin-gonic/gin" )
func DefaultRoutersInit(route *gin.Engine) { defaultRouters := route.Group("/") { defaultRouters.GET("/", func(context *gin.Context) { context.HTML(200, "default/index.html", nil) }) defaultRouters.GET("/news", func(context *gin.Context) { context.String(200, "我是news") }) } }
|
routers/apiRouters.go
package routers
import ( "github.com/gin-gonic/gin" )
func ApiRoutersInit(route *gin.Engine) { apiRouters := route.Group("/api") { apiRouters.GET("/", func(context *gin.Context) { context.String(200, "我是api") }) apiRouters.GET("/userlist", func(context *gin.Context) { context.String(200, "我是api userlist") }) apiRouters.GET("/plist", func(context *gin.Context) { context.String(200, "我是api plist") }) apiRouters.GET("/cart", func(context *gin.Context) { context.String(200, "我是api cart") }) } }
|
在main.go中使用
一定要引入,比如我的项目是gin-all/gin04/router
import( "gin-all/gin04/routers" )
|

在main.go中
routers.DefaultRoutersInit(route) routers.ApitRoutersInit(route) routers.AdminRoutersInit(route)
|
最后fresh就行了