diff --git a/internal/app/middleware/swagger.go b/internal/app/middleware/swagger.go index 4bc30c6..34582f5 100644 --- a/internal/app/middleware/swagger.go +++ b/internal/app/middleware/swagger.go @@ -9,6 +9,7 @@ import ( "strings" swaggerFiles "github.com/swaggo/files" + "github.com/swaggo/swag" "github.com/gin-gonic/gin" ) @@ -24,6 +25,16 @@ func SwaggerHandler() gin.HandlerFunc { isCSS := strings.HasSuffix(relPath, "swagger-ui.css") isInitializer := strings.HasSuffix(relPath, "swagger-initializer.js") + isDocJSON := strings.HasSuffix(relPath, "doc.json") + + if isDocJSON { + doc := swag.ReadDoc() + c.Header("Content-Type", "application/json; charset=utf-8") + c.Writer.WriteHeader(200) + c.Writer.Write([]byte(doc)) + c.Request.URL.Path = rawPath + return + } if isInitializer { c.Header("Content-Type", "application/javascript; charset=utf-8")