From d26f5962ed55900088d36cf9df1983ba2d2d1e7b Mon Sep 17 00:00:00 2001 From: MengStack Dev Date: Sat, 3 Oct 2026 04:09:25 +0800 Subject: [PATCH] fix: strip /swagger prefix for swaggerFiles.Handler path resolution --- internal/app/middleware/swagger.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/internal/app/middleware/swagger.go b/internal/app/middleware/swagger.go index 97699ae..db07e06 100644 --- a/internal/app/middleware/swagger.go +++ b/internal/app/middleware/swagger.go @@ -16,7 +16,15 @@ import ( // branding CSS injected into swagger-ui.css. func SwaggerHandler() gin.HandlerFunc { return func(c *gin.Context) { - isCSS := strings.HasSuffix(c.Request.URL.Path, "swagger-ui.css") + rawPath := c.Request.URL.Path + relPath := strings.TrimPrefix(rawPath, "/swagger") + if relPath == "" || relPath == "/" { + relPath = "/index.html" + } + c.Request.URL.Path = relPath + defer func() { c.Request.URL.Path = rawPath }() + + isCSS := strings.HasSuffix(relPath, "swagger-ui.css") underlying := c.Writer crw := &captureResponseWriter{