Files
taotie-api/api/api.go

46 lines
805 B
Go

package api
import (
"taotie-api/api/middleware"
v1 "taotie-api/api/v1"
"taotie-api/api/wrap"
"taotie-api/core"
"github.com/gin-gonic/gin"
"github.com/google/wire"
)
// 依赖注入节点
var RouterProd = wire.NewSet(
NewRouter,
v1.NewUserApi,
)
func NewRouter(cfg *core.Configuration, userApi *v1.UserApi) *gin.Engine {
r := gin.Default()
// cors
r.Use(middleware.Cors())
// 定义路由
r.GET("/", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "Hello, World!",
})
})
apiv1 := r.Group("/api/v1")
{
apiv1.POST("/login", wrap.Wrap(userApi.Login))
apiv1.POST("/register", wrap.Wrap(userApi.Register))
}
apiv1_user := apiv1.Group("/user")
apiv1_user.Use(middleware.Auth(cfg))
{
apiv1_user.GET("/current", wrap.Wrap(userApi.GetCurrentUserInfo))
}
return r
}