leaf-library-3/internal/router/api.go
2024-12-06 01:44:29 +08:00

49 lines
798 B
Go

package router
import (
"github.com/gofiber/fiber/v2"
"leafdev.top/Leaf/leaf-library-3/internal/api/http"
)
// 两种方法都可以
//type Api struct {
// User *v1.UserController
//}
type Api struct {
HttpHandler *http.Handlers
Middleware *http.Middleware
}
func NewApiRoute(
//User *v1.UserController,
HttpHandler *http.Handlers,
Middleware *http.Middleware,
) *Api {
//return &Api{
// User,
//}
return &Api{
HttpHandler,
Middleware,
}
}
func (a *Api) V1(r fiber.Router) {
auth := r.Group("/api/v1")
{
// 要求认证
auth.Use(a.Middleware.Auth.Handler())
// RoutePermission 为权限验证
r.Get("/ping", a.Middleware.RBAC.RoutePermission(), a.HttpHandler.User.Test)
}
guest := r.Group("/api/v1")
{
guest.Get("/guest_ping", a.HttpHandler.User.Test)
}
}