在同一 Json 规范中招摇过市多个主机

Swagger Multiple hosts in same Json spec

我在 Swagger Ui 2.0 中使用单个主机来记录 REST API,但我需要 JSON 文件中的两个主机来调用 rest API一个用于 http,另一个用于 https。可能吗?如果是,那该怎么做?

谢谢!

swagger 计算 URLs 的方式是这样的:

  1. 您在 index.html 中提供了生成 swagger.json 的基础。生成的 swagger.json 本身不包含 URL 或任何 http/https 信息。它只有一个相对于您提供的基础 URL 的路径。
  2. 根据生成的swagger.json生成UI后,"Try it out"按钮根据URL执行GET/POST/PUT请求地址栏中的信息。在 swagger-ui.js:

    中检查这段代码

    if (url && url.indexOf('http') !== 0) { url = this.buildUrl(window.location.href.toString(), url); }

因此,如果您想使用 https,请在地址栏中使用 https 来点击 Swagger UI。您还需要在 index.html 和上面代码中的 swagger-ui.js 中提及相同内容。