45 lines
749 B
Go
45 lines
749 B
Go
package router
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"api/config"
|
|
"api/handlers"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// RegisterRoutes 注册路由
|
|
func RegisterRoutes(r *gin.Engine, cfg *config.Config) {
|
|
// 创建处理器
|
|
h := handlers.New(cfg)
|
|
|
|
// 健康检查
|
|
r.GET("/health", h.HealthCheck)
|
|
|
|
// API v1 路由组
|
|
v1 := r.Group("/api/v1")
|
|
{
|
|
// 示例路由
|
|
v1.GET("/ping", h.Ping)
|
|
|
|
// 用户相关路由
|
|
user := v1.Group("/users")
|
|
{
|
|
user.GET("", h.ListUsers)
|
|
user.POST("", h.CreateUser)
|
|
user.GET("/:id", h.GetUser)
|
|
user.PUT("/:id", h.UpdateUser)
|
|
user.DELETE("/:id", h.DeleteUser)
|
|
}
|
|
}
|
|
|
|
// 404 处理
|
|
r.NoRoute(func(c *gin.Context) {
|
|
c.JSON(http.StatusNotFound, gin.H{
|
|
"code": 404,
|
|
"message": "Not Found",
|
|
})
|
|
})
|
|
}
|