主函数:
//路由分组
func routegroup() {
type Userinfo struct {
Username string `form:"username" json:"user"`
Password string `form:"password" json:"password"`
}
r := gin.Default()
//调用文件routes包下的路由分组
routes.AdminRoutesInit(r)
routes.ApiRoutesInit(r)
routes.DefaultRoutesInit(r)
r.Run(":9999")
}
func main() {
//控制器分组
//controllerlab()
//路由分组的调用
routegroup()
}
目录结构
routes:
新建 routes 文件夹, routes 文件下面新建adminRoutes.go 、apiRoutes.go 、defaultRoutes.go
1.adminRoutes.go
、
package routes
import (
"ginrouter/controller/admin"
"github.com/gin-gonic/gin"
)
//http://127.0.0.1:9999/admin/user
func AdminRoutesInit(router *gin.Engine) {
adminRouter := router.Group("/admin")
{
//adminRouter.GET("/user", func(c *gin.Context) { c.String(http.StatusOK, "用户") })
//adminRouter.GET("/news", func(c *gin.Context) { c.String(http.StatusOK, "news") })
//############333
adminRouter.GET("/user", admin.UserController{}.Index)
adminRouter.GET("/user/add", admin.UserController{}.Add)
//adminRouter.GET("/news", admin.NewsController{}.Add)
}
}
2.apiRoutes.go
、
package routes
import (
"github.com/gin-gonic/gin"
"net/http"
)
//http://127.0.0.1:9999/api/news 测试的连接
//http://127.0.0.1:9999/api/user
func ApiRoutesInit(router *gin.Engine) {
apiRoute := router.Group("/api")
{
apiRoute.GET("/user", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"username": "tom", "age": 20})
})
apiRoute.GET("/news", func(c *gin.Context) { c.JSON(http.StatusOK, gin.H{"title": "这是新闻"}) })
}
}
3.defaultRoutes.go
package routes
import (
"github.com/gin-gonic/gin"
)
//http://127.0.0.1:9999/ 默认访问主页
func DefaultRoutesInit(router *gin.Engine) {
defaultRoute := router.Group("/")
{
defaultRoute.GET("/", func(c *gin.Context) { c.String(200, "首页") })
}
}
运行后进行验证即可