Swagger UI с несколькими URL-адресами


Я видел в документации swagger ui, что вы можете предоставить параметр urls, который является:

Массив объектов определения API ({url:"", name:""}), используемый плагином Topbar. При использовании и включении плагина 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 для всех микросервисов.

Есть идеи, где я ошибаюсь?

1 6

1 ответ:

Обновление: urls теперь доступно в версии 3.0.18. Вы можете использовать его вместо url следующим образом:

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

Оригинальный ответ:
Эта функция была объединена вчера (28 июня 2017 г.), и автономные файлы dist\* еще не были восстановлены. Вы можете восстановить исходники самостоятельно или дождаться официального релиза 3.0.18, который, как говорят, будет позже на этой неделе.