gin-swagger
gin-swagger copied to clipboard
SwaggerUIBundle is not defined
Hi, i set up gin-swagger as described in the README.md.
Problem is that when i navigate to the route i get an error telling Uncaught ReferenceError: SwaggerUIBundle is not defined.
Before that i get warnings that both “http://localhost:8080/swagger/swagger-ui-bundle.js” and “http://localhost:8080/swagger/swagger-ui-standalone-preset.js” failed to load.
Here is the code I wrote
func Start() error {
// TODO config
docs.SwaggerInfo.BasePath = "/api"
docs.SwaggerInfo.Title = "apisense"
docs.SwaggerInfo.Version = "1.0.0"
gin.SetMode(gin.ReleaseMode)
router := gin.New()
router.Use(middleware.CORS())
router.Use(log.GinLogger())
router.Use(gin.Recovery())
router.Use(middleware.Limiter())
api := router.Group("/api")
api.GET("/health", controllers.GetHealth)
api.GET("/reports", controllers.AllReports)
api.GET("/reports/:id", controllers.Report)
api.GET("/ws", controllers.Ws)
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
srv := &http.Server{
Addr: ":8080",
Handler: router,
}
done := make(chan os.Signal, 1)
signal.Notify(done, unix.SIGINT, unix.SIGTERM)
go func() {
if err := srv.ListenAndServe(); err != nil {
log.ApiLogger.Error(err.Error())
}
}()
log.ApiLogger.Info("api service started")
<-done
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
log.ApiLogger.Info("stopping api service")
if err := srv.Shutdown(ctx); err != nil {
err = errors.CannotStopApiServiceError.Wrap(err, "cannot stop api service")
}
return nil
}
Here is the console output:

Maybe try putting router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) just after you define your router or change it to api.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)).
i had the same problem!

I'm seeing the same issue using gofiber v2.
The weird thing is that the code below has been working for over a year without errors, and suddenly last week stopped working:
swaggerURL := fmt.Sprintf("%v/swagger", os.Getenv(serverBaseURLEnvVar))
app.Get(swaggerURL, fiberSwagger.WrapHandler)
app.Get(swaggerURL+"/", fiberSwagger.WrapHandler)
app.Get(swaggerURL+"/*", fiberSwagger.WrapHandler)