Swagger-ui继续显示示例petstore,而不是提供的swagger.json

问题描述 投票:1回答:2

我按照说明使用swagger-jsdoc为现有节点API设置了swagger文档。swagger.json的服务正确,我在index.html的SwaggerUiBundle的url参数中为其添加了一条路径,如下所示:

const ui = SwaggerUIBundle({
url: "https://my.domain:5292/swagger.json",
dom_id: '#swagger-ui',
presets: [
  SwaggerUIBundle.presets.apis,
  SwaggerUIStandalonePreset
],
plugins: [
  SwaggerUIBundle.plugins.DownloadUrl
],
layout: "StandaloneLayout" })

但是,它在浏览器中打开页面时试图做的第一件事是显示默认的http://petstore.swagger.io/v2/swagger.json而不是我的swagger.json。这样做实际上失败了,因为我通过https服务页面,而petstore不是https,但这是另一回事...

将我的地址手动输入到swagger.json到页面上的表单中,可以正常工作。它会正确显示API页面并对其进行验证。但是,我不想总是在此重新输入地址,并且希望将其作为默认地址。

node.js swagger swagger-ui
2个回答
1
投票

Swagger UI 3.0.9的bug忽略了url参数,并始终打开Petstore。

在3.0.10中已修复。


0
投票

最近使用docker进行部署时,我一直遇到这个问题。尝试了所有操作,从将petstore的所有实例更改为我自己的api json文档,但无济于事。最后,我找到了关于API_URL环境变量的信息,将其设置为DockerFile和voila中的api文档!花了我两天的时间,但很高兴看到它终于工作了。

© www.soinside.com 2019 - 2024. All rights reserved.