带有多个网址的Swagger UI

时间:2017-06-29 04:52:38

标签: 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
}

我还想将primaryName设置为All Microservices。

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

1 个答案:

答案 0 :(得分:13)

更新:urls现已在3.0.18版本中提供。您可以使用它代替url,如下所示:

urls: [{url: "<url1>", name: "<name1>"},{url: "<url2>", name: "<name2>"}]

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