1,路由分组
1.1,创建 GroupMain
package main
import (
"github.com/gin-gonic/gin"
"go_gin/src/demo03_router_group/routers"
)
func main() {
router := gin.Default();
routers.AdminRourerInit(router)
routers.AnalyslsRourerInit(router)
router.Run(":8080");
}
1.2,创建 adminRouters
package routers
import (
"github.com/gin-gonic/gin"
"net/http"
)
func AdminRourerInit(engine *gin.Engine) {
adminRouters := engine.Group("/admin")
{
adminRouters.GET("/", func(context *gin.Context) {
context.JSON(http.StatusOK,"系统配置")
})
adminRouters.GET("/user", func(context *gin.Context) {
context.JSON(http.StatusOK,"系统配置-->用户配置")
})
adminRouters.GET("/depment", func(context *gin.Context) {
context.JSON(http.StatusOK,"系统配置-->部门管理")
})
}
}
1.3,创建 analysisRouters
package routers
import (
"github.com/gin-gonic/gin"
"net/http"
)
func AnalyslsRourerInit(engine *gin.Engine) {
adminRouters := engine.Group("/ana")
{
adminRouters.GET("/", func(context *gin.Context) {
context.JSON(http.StatusOK,"智能分析系统")
})
adminRouters.GET("/task", func(context *gin.Context) {
context.JSON(http.StatusOK,"智能分析系统-->配置任务")
})
adminRouters.GET("/info", func(context *gin.Context) {
context.JSON(http.StatusOK,"智能分析系统-->任务详细")
})
}
}
1.4 测试
http://localhost:8080/admin/
http://localhost:8080/ana/info
2,MVC思想
2.1,创建 AnalysisTaskService 结构体
package service
import "github.com/gin-gonic/gin"
type AnalysisTaskService struct {
}
func(con AnalysisTaskService) AnaTaskIndex(c *gin.Context) {
c.String(200,"查询任务")
}
func(con AnalysisTaskService) AnaTaskAdd(c *gin.Context) {
c.String(200,"添加任务")
}
func(con AnalysisTaskService) AnaTaskEdit(c *gin.Context) {
c.String(200,"编辑任务")
}
func(con AnalysisTaskService) AnaTaskDelete(c *gin.Context) {
c.String(200,"删除任务")
}
2.2,创建 UserService 结构体
package service
import "github.com/gin-gonic/gin"
type UserService struct {
}
func(con UserService) UserIndex(c *gin.Context) {
c.String(200,"用户列表")
}
func(con UserService) UserAdd(c *gin.Context) {
c.String(200,"添加用户")
}
func(con UserService) UserEdit(c *gin.Context) {
c.String(200,"编辑用户")
}
func(con UserService) UserDelete(c *gin.Context) {
c.String(200,"删除用户")
}
2.3,创建 AnalysisTaskController
package controller
import (
"github.com/gin-gonic/gin"
"go_gin/src/demo04_controller/service"
)
func AnalysisTaskRouterInit(engine *gin.Engine) {
analysisTaskRouter := engine.Group("/analysis")
{
analysisTaskRouter.GET("/analysisAdd",service.AnalysisTaskService{}.AnaTaskAdd)
analysisTaskRouter.GET("/analysisEdit",service.AnalysisTaskService{}.AnaTaskEdit)
analysisTaskRouter.GET("/analysisIndex",service.AnalysisTaskService{}.AnaTaskIndex)
analysisTaskRouter.GET("/analysisDelete",service.AnalysisTaskService{}.AnaTaskDelete)
}
}
2.4,创建 UserController
package controller
import (
"github.com/gin-gonic/gin"
"go_gin/src/demo04_controller/service"
"net/http"
)
func UserRourerInit(engine *gin.Engine) {
adminRouters := engine.Group("/admin")
{
adminRouters.GET("/", func(context *gin.Context) {
context.JSON(http.StatusOK,"系统配置")
})
adminRouters.GET("/userIndex", service.UserService{}.UserIndex)
adminRouters.GET("/userAdd", service.UserService{}.UserAdd)
adminRouters.GET("/userEdit", service.UserService{}.UserEdit)
adminRouters.GET("/userDelete", service.UserService{}.UserDelete)
}
}
2.5,创建 Main
package main
import (
"github.com/gin-gonic/gin"
"go_gin/src/demo04_controller/controller"
)
func main() {
router := gin.Default();
controller.UserRourerInit(router);
controller.AnalysisTaskRouterInit(router);
router.Run(":8080");
}