gin 路由嵌套分组及文件抽离

// main.go
package main

import (
   "gindemo02/router"
   "github.com/gin-gonic/gin"
   "net/http"
)
type ResContent struct {
   Title       string `json:"title"`
   Content     string `json:"content"`
   Description string `json:"description"`
}
func main() {
   r := gin.Default()
   router.ApiRouterInit(r)
   router.AdminRouterInit(r)
   err := r.Run(":8001")
   if err != nil {
      return
   }
}
//   /project_name/router/adminRouter.go
package router
import (
   "github.com/gin-gonic/gin"
   "net/http"
)
func AdminRouterInit(r *gin.Engine) {
   group := r.Group("/back")
   {
      group.POST("/login", func(context *gin.Context) {
         context.JSON(http.StatusOK, gin.H{
            "msg": "登录成功!",
         })
      })
      // 嵌套分组
      settingGroup := group.Group("/setting")
      {
         settingGroup.POST("/setting-one", func(context *gin.Context) {
            context.JSON(http.StatusOK, gin.H{
               "msg": "设置路由1",
            })
         })
      }
   }
}
//  /project_name/router/apiRouter.go
package router
import (
   "github.com/gin-gonic/gin"
   "net/http"
)
func ApiRouterInit(context *gin.Engine) {
   api := context.Group("/api")
   {
      api.POST("/login", func(context *gin.Context) {
         context.JSON(http.StatusOK, gin.H{
            "msg": "success",
         })
      })
   }
}

simdot 脉望

posted @ 2022-08-14 19:29  脉望  阅读(148)  评论(0编辑  收藏  举报