gin-swagger icon indicating copy to clipboard operation
gin-swagger copied to clipboard

SwaggerUIBundle is not defined

Open auribuo opened this issue 2 years ago • 3 comments
trafficstars

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: image

auribuo avatar Jan 27 '23 21:01 auribuo

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)).

RadientBrain avatar Mar 07 '23 17:03 RadientBrain

i had the same problem! image image

AK-blank avatar Apr 09 '23 06:04 AK-blank

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)

gmlewis avatar Jul 01 '24 13:07 gmlewis