【问题标题】:Swagger UI with Multiple Urls带有多个 URL 的 Swagger UI
【发布时间】:2017-12-02 15:37:17
【问题描述】:

我在 swagger ui 文档中看到,您可以提供一个 urls 参数,即:

Topbar 插件使用的 API 定义对象数组({url: "", name: ""})。使用且启用 Topbar 插件时,不会解析 url 参数。名称和 URL 在此数组中的所有项目中必须是唯一的,因为它们用作标识符。

我希望这会给我一个选择器,我可以从中选择要处理的 yaml 文件。不幸的是,它似乎什么也没做。

这是我的代码:

window.onload = function() {
  // Build a system
  const ui = SwaggerUIBundle({
    urls: [
    {url:"http://test.dev/documentation/microservices/microservices.yaml",name:"All Microservices"},
    {url:"http://test.dev/documentation/microservices/plans.yaml",name:"Plans"},
    ],
    dom_id: '#swagger-ui',
    presets: [
      SwaggerUIBundle.presets.apis,
      SwaggerUIStandalonePreset
    ],
    plugins: [
      SwaggerUIBundle.plugins.DownloadUrl
    ],
    layout: "StandaloneLayout"
  })

  window.ui = ui
}

我还想将 primaryName 设置为 All Microservices。

关于我哪里出错了有什么想法吗?

【问题讨论】:

    标签: swagger-ui


    【解决方案1】:

    Swagger UI 3.0.18 及更高版本支持urls 配置选项。

    您可以像这样使用它来代替url

    window.onload = function() {
      // Build a system
      const ui = SwaggerUIBundle({
        urls: [
          {url: "https://path/to/api1.yaml", name: "API One"},
          {url: "https://path/to/api2.yaml", name: "API Two"},
        ],
        "urls.primaryName": "API Two"  // default document (if other than the first)
        ...
      })
    

    结果:

    【讨论】:

    • 谢谢 Helen,我没有意识到这是一个新功能。
    猜你喜欢
    • 1970-01-01
    • 2022-01-12
    • 2020-09-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    相关资源
    最近更新 更多