51 lines
1.0 KiB
Go
51 lines
1.0 KiB
Go
|
|
package router
|
||
|
|
|
||
|
|
import (
|
||
|
|
"RelationshipManagement-backend/handler"
|
||
|
|
"RelationshipManagement-backend/middleware"
|
||
|
|
"RelationshipManagement-backend/service"
|
||
|
|
"RelationshipManagement-backend/dao"
|
||
|
|
|
||
|
|
"github.com/gin-gonic/gin"
|
||
|
|
)
|
||
|
|
|
||
|
|
// SetupRouter 设置路由
|
||
|
|
func SetupRouter() *gin.Engine {
|
||
|
|
// 初始化依赖
|
||
|
|
userDAO := dao.NewUserDAO(dao.DB)
|
||
|
|
userService := service.NewUserService(userDAO)
|
||
|
|
userHandler := handler.NewUserHandler(userService)
|
||
|
|
|
||
|
|
r := gin.Default()
|
||
|
|
|
||
|
|
// 全局中间件
|
||
|
|
r.Use(middleware.CORS())
|
||
|
|
r.Use(middleware.Logger())
|
||
|
|
r.Use(middleware.Recovery())
|
||
|
|
|
||
|
|
// 健康检查
|
||
|
|
r.GET("/health", func(c *gin.Context) {
|
||
|
|
c.JSON(200, gin.H{
|
||
|
|
"status": "ok",
|
||
|
|
"message": "服务运行正常",
|
||
|
|
})
|
||
|
|
})
|
||
|
|
|
||
|
|
// API路由组
|
||
|
|
api := r.Group("/api")
|
||
|
|
{
|
||
|
|
// 用户相关路由
|
||
|
|
users := api.Group("/users")
|
||
|
|
{
|
||
|
|
users.POST("", userHandler.CreateUser)
|
||
|
|
users.GET("", userHandler.ListUsers)
|
||
|
|
users.GET("/:id", userHandler.GetUserByID)
|
||
|
|
users.PUT("/:id", userHandler.UpdateUser)
|
||
|
|
users.DELETE("/:id", userHandler.DeleteUser)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
return r
|
||
|
|
}
|
||
|
|
|