feat(router): 根据环境配置有条件启用Swagger文档

- 新增env参数用于路由初始化
- 仅当环境非生产时启用Swagger文档访问
- 通过传递环境配置参数控制文档路由注册
- 修改router构造函数和调用处以支持新参数
This commit is contained in:
eafonyang
2026-06-12 18:44:49 +08:00
parent 598bbd4998
commit 684d6bafb8
2 changed files with 6 additions and 4 deletions
+1 -1
View File
@@ -105,7 +105,7 @@ func main() {
zap.String("region", cfg.S3.Region), zap.String("region", cfg.S3.Region),
) )
engine := router.New(log, db, searchClient, rdb, cfg.Equalize, s3Storage, cfg.ShareCodeMaxPerMac, time.Duration(cfg.ShareCodeTTLMin)*time.Minute) engine := router.New(log, db, searchClient, rdb, cfg.Equalize, s3Storage, cfg.ShareCodeMaxPerMac, time.Duration(cfg.ShareCodeTTLMin)*time.Minute, cfg.Env)
srv := &http.Server{ srv := &http.Server{
Addr: cfg.Addr(), Addr: cfg.Addr(),
+5 -3
View File
@@ -19,7 +19,7 @@ import (
ginSwagger "github.com/swaggo/gin-swagger" ginSwagger "github.com/swaggo/gin-swagger"
) )
func New(log *zap.Logger, db *sql.DB, searchClient *search.Client, rdb *redis.Client, eqCfg config.EqualizeConfig, s3 *storage.S3Storage, shareCodeMaxPerMac int, shareCodeTTL time.Duration) *gin.Engine { func New(log *zap.Logger, db *sql.DB, searchClient *search.Client, rdb *redis.Client, eqCfg config.EqualizeConfig, s3 *storage.S3Storage, shareCodeMaxPerMac int, shareCodeTTL time.Duration, env string) *gin.Engine {
r := gin.New() r := gin.New()
r.Use(gin.Recovery()) r.Use(gin.Recovery())
r.Use(middleware.RequestID()) r.Use(middleware.RequestID())
@@ -55,8 +55,10 @@ func New(log *zap.Logger, db *sql.DB, searchClient *search.Client, rdb *redis.Cl
v1.GET("/health", health.Check) v1.GET("/health", health.Check)
} }
// Swagger // Swagger — 仅非生产环境启用
r.GET("/docs/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) if env != "production" {
r.GET("/docs/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
}
audio := r.Group("/audio") audio := r.Group("/audio")
{ {