v0.1
This commit is contained in:
59
internal/infrastructure/http/routes/api_routes.go
Normal file
59
internal/infrastructure/http/routes/api_routes.go
Normal file
@@ -0,0 +1,59 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"tyapi-server/internal/infrastructure/http/handlers"
|
||||
sharedhttp "tyapi-server/internal/shared/http"
|
||||
"tyapi-server/internal/shared/middleware"
|
||||
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
// ApiRoutes API路由注册器
|
||||
type ApiRoutes struct {
|
||||
apiHandler *handlers.ApiHandler
|
||||
authMiddleware *middleware.JWTAuthMiddleware
|
||||
domainAuthMiddleware *middleware.DomainAuthMiddleware
|
||||
logger *zap.Logger
|
||||
}
|
||||
|
||||
// NewApiRoutes 创建API路由注册器
|
||||
func NewApiRoutes(
|
||||
apiHandler *handlers.ApiHandler,
|
||||
authMiddleware *middleware.JWTAuthMiddleware,
|
||||
domainAuthMiddleware *middleware.DomainAuthMiddleware,
|
||||
logger *zap.Logger,
|
||||
) *ApiRoutes {
|
||||
return &ApiRoutes{
|
||||
apiHandler: apiHandler,
|
||||
authMiddleware: authMiddleware,
|
||||
domainAuthMiddleware: domainAuthMiddleware,
|
||||
logger: logger,
|
||||
}
|
||||
}
|
||||
|
||||
// Register 注册相关路由
|
||||
func (r *ApiRoutes) Register(router *sharedhttp.GinRouter) {
|
||||
// API路由组,需要用户认证
|
||||
engine := router.GetEngine()
|
||||
apiGroup := engine.Group("/api/v1")
|
||||
|
||||
{
|
||||
apiGroup.POST("/:api_name", r.domainAuthMiddleware.Handle(""), r.apiHandler.HandleApiCall)
|
||||
|
||||
// 加密接口(用于前端调试)
|
||||
apiGroup.POST("/encrypt", r.authMiddleware.Handle(), r.apiHandler.EncryptParams)
|
||||
|
||||
// API密钥管理接口
|
||||
apiGroup.GET("/api-keys", r.authMiddleware.Handle(), r.apiHandler.GetUserApiKeys)
|
||||
|
||||
// 白名单管理接口
|
||||
apiGroup.GET("/white-list", r.authMiddleware.Handle(), r.apiHandler.GetUserWhiteList)
|
||||
apiGroup.POST("/white-list", r.authMiddleware.Handle(), r.apiHandler.AddWhiteListIP)
|
||||
apiGroup.DELETE("/white-list/:ip", r.authMiddleware.Handle(), r.apiHandler.DeleteWhiteListIP)
|
||||
|
||||
// API调用记录接口
|
||||
apiGroup.GET("/my/api-calls", r.authMiddleware.Handle(), r.apiHandler.GetUserApiCalls)
|
||||
}
|
||||
|
||||
r.logger.Info("API路由注册完成")
|
||||
}
|
||||
Reference in New Issue
Block a user