如何解决如何配置 swagger UI 使其不需要 URL?
我正在使用 http://github.com/swaggo/gin-swagger 自动生成 swagger 并创建如下 UI。
当我在我的机器上运行服务器时一切正常,但是当我在 Kubernetes 上运行服务器时,UI 找不到 doc.json 并显示 Failed to load spec.
,而在浏览器中我得到 Failed to load resource: net::ERR_CONNECTION_REFUSED localhost:9080/swagger/doc.json:1
。
可以看出,问题在于指向本地主机的 URL,并且无法从集群外部访问它。如果我使用 http://my_public_url/reverse_proxy_entry_for_my_service/swagger/doc.json
,则一切正常,在 UI 中我可以看到生成的 swagger。
我的问题是如何删除对 public_url 的依赖?我需要在多个 URL 上启动我的组件,如果可能,我想让它独立于 URL,否则我必须使用环境变量来传递和配置 URL。
我的代码:
url := ginSwagger.URL("http://localhost:9080/swagger/doc.json")
r.GET("/swagger/*any",ginSwagger.WrapHandler(swaggerFiles.Handler,url))
解决方法
您可以删除 url
参数,所以它会是这样的:
r.GET("/swagger/*any",ginSwagger.WrapHandler(swaggerFiles.Handler))
处理程序可以定位 doc.json
本身。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。