2015-10-22 3 views
2

Я работаю над проектом, который состоит из нескольких разделенных приложений REST. Каждое приложение имеет собственное автогенерирование по спецификации Swagger JSON и прикрепленный модуль swagger-ui с соответствующей документацией.Лучший способ собрать документацию Swagger из нескольких конечных точек REST

Проблема заключается в том, что для выяснения какого-либо конкретного REST нам нужно выполнить итерацию по всем REST-приложениям вручную и проверить, есть ли у нее желаемая конечная точка.

Мы решили собрать всю документацию в одном месте, и, кроме того, это должно быть сделано автоматически, так как REST часто меняются, и очень сложно синхронизировать всю документацию вручную.

Итак, я хотел бы спросить, есть ли какой-либо инструмент, который предоставляет некоторый API, чтобы упростить регистрацию конечных точек Swagger и отображать их все в одном месте?

Edit:

Я обнаружил, что несколько платформ управления API, такие как "Amazon API шлюз" может импортировать спецификацию Swagger и показать соответствующую документацию. Но это действительно огромная система, и я не думаю, что имеет смысл использовать ее только для целей документации.

Заранее спасибо

ответ

1

Кураж на стороне сервера просто выставляет {war}/api-docs конечную точку для одной программы/войны. К сожалению, нет способа собрать их все из коробки, поскольку это будет зависеть от многих особенностей вашего приложения. Тем не менее, должно быть достаточно просто отметить каждое приложение, поскольку оно загружает и записывает название войны. Поскольку у вас также есть доступ к статическим файлам HTML, вы можете легко переопределить пользовательский интерфейс, чтобы делать то, что вам нужно. В этом случае вам нужно, чтобы

  • ударил пользовательский веб-сервис, который содержит список всех приложений, например, {apps:[users, animals, core]}
  • выборки данных из известных приложений вместо того, чтобы пользователь заполнить информацию

У вас действительно есть определенная гибкость здесь, в пользовательском интерфейсе, чтобы создать новую целевую страницу или вместо этого просто переопределить текстовое поле Swagger, чтобы выпадающее меню заполнило приложение и т. Д.

Смежные вопросы