46 lines
805 B
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
|
|
}
|