三步
1,书写各部分路由
2,将这些路由统一管理
3,初始化路由
第一步
celeRoute.go
package myRouters
import (
"github.com/gin-gonic/gin"
"recommendation/controller"
"recommendation/middleware"
)
type CeleRoute struct {
}
func (*CeleRoute) InitCeleRoute(g *gin.RouterGroup) {
// celebrity路由
cg := g.Group("/celebrity")
{
cg.POST("/register", controller.CeleRegister)
cg.POST("/login", controller.CeleLogin)
cg.POST("/info", middleware.AuthMiddlewareForCele(), controller.Info)
}
}
eshopRoute.go
package myRouters
import (
"github.com/gin-gonic/gin"
"recommendation/controller"
"recommendation/middleware"
)
type EshopRoute struct {
}
func (*EshopRoute) InitEshopRoute(g *gin.RouterGroup) {
// eshop 路由
eg := g.Group("/eshop")
{
eg.POST("/register", controller.EshopRegister) //注册
eg.POST("/login", controller.EshopLogin) //登录
eg.GET("/info", middleware.AuthMiddleware(), controller.Info) //用中间件保护我们用户信息结构 用户信息
}
}
第二步
package myRouters
type SystemGroup struct {
CeleRoute
EshopRoute
}
第三步
package initial
import (
"github.com/gin-gonic/gin"
"recommendation/middleware"
"recommendation/myRouters"
)
func Routers() *gin.Engine {
router := gin.New()
myRouter := new(myRouters.SystemGroup)
// 配置跨域
router.Use(middleware.CORSMiddleware())
groupRegistry := router.Group("/")
{
myRouter.CeleRoute.InitCeleRoute(groupRegistry)
myRouter.EshopRoute.InitEshopRoute(groupRegistry)
}
return router
}