带有多个网址的Swagger UI

zag*_*010 9 swagger-ui

我在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
}
Run Code Online (Sandbox Code Playgroud)

我还想将primaryName设置为All Microservices.

关于我哪里出错的任何想法?

Hel*_*len 13

更新:urls现在可在3.0.18版本中使用.您可以使用它而不是url像这样:

urls: [{url: "<url1>", name: "<name1>"},{url: "<url2>", name: "<name2>"}]
Run Code Online (Sandbox Code Playgroud)

原始答案:
此功能已于昨天(2017年6月28日)合并,并且dist\*尚未重建独立文件.您可以自己重建源代码,或者等待本周晚些时候发布的官方3.0.18版本.

  • 多个 URL 也可以与具有如下“环境”的“swaggerapi/swagger-ui” Docker 容器一起使用:“URLS=[{ url: 'api1.yaml', name: 'API One' }, { url: ' api2.yaml', name: 'API 二' }]` (2认同)