From a4145876d5953da317b68f198bf2dffa6c3567e3 Mon Sep 17 00:00:00 2001 From: engigu Date: Sun, 8 Mar 2026 21:09:24 +0800 Subject: [PATCH] chore: adjust swagger hanlder --- internal/router/router.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/internal/router/router.go b/internal/router/router.go index 08ac6ff..6cea61a 100644 --- a/internal/router/router.go +++ b/internal/router/router.go @@ -132,6 +132,9 @@ func initStaticRoutes(root *gin.RouterGroup) { } func initOpenAPIRoutes(root *gin.RouterGroup, urlPrefix string) { + // 预先创建 Swagger Handler,避免重复解析 docs.go 导致内存尖峰 + swagHandler := ginSwagger.WrapHandler(swaggerFiles.Handler, ginSwagger.URL(urlPrefix+"/openapi/doc.json")) + // OpenAPI documentation using Scalar UI (带 Basic Auth 认证) root.GET("/openapi/*any", func(c *gin.Context) { settingsSvc := services.NewSettingsService() @@ -197,9 +200,8 @@ func initOpenAPIRoutes(root *gin.RouterGroup, urlPrefix string) { // 3. 提供给 Scalar/Swagger 使用的 doc.json 内容 if path == "doc.json" { - // 这里借助 ginSwagger 仅生成 doc.json 内容 - h := ginSwagger.WrapHandler(swaggerFiles.Handler, ginSwagger.URL(urlPrefix+"/openapi/doc.json")) - h(c) + // 使用预先创建并缓存的 handler + swagHandler(c) return }