Как добавить спецификацию Swagger OpenAPI в проект весенней загрузки?

Я нашел этот проект https://github.com/OAI/OpenAPI-Specification Как я понял мы можем писать документацию в .json/.yml файлах. Кроме того, я вижу в http://editor.swagger.io/, что он может быть отображен в .html файл.

У меня вопрос - как я могу сгенерировать статические .html страницы из .json/.yml файлов? Есть ли какой-нибудь учебник по весеннему загрузочному приложению? Должен ли я каким-то образом настроить .json/.yml файлы на конфигурацию swagger и получить .html файл с документацией?


person Orest    schedule 14.11.2016    source источник


Ответы (1)


Нет необходимости создавать коллекцию HTML, JavaScripts и CSS-ресурсов из файлов .yml или .json. Просто передайте файл YAML / JSON на сервер, на котором запущен пользовательский интерфейс Swagger, и пользовательский интерфейс Swagger будет динамически генерировать красивую документацию из этих совместимых со Swagger API. Пример petstore должен дать вам представление.

Вы можете использовать механизм сборки (сервер CI / CD или что-то еще), например Jenkins, для автоматизации процесса публикации документации. Например, каждый репозиторий REST API должен предоставлять хотя бы один из этих .yml или .json файлов (которые, кстати, генерируются редактором Swagger). Затем после каждого нажатия в этот репозиторий Jenkins будет получать эти .yml или .json файлы и загружать их на ваш сервер документации, где пользовательский интерфейс Swagger запущен и работает.

Разработчики REST API могут поделиться ссылкой на документацию API с разработчиками клиентов, а также могут быть уверены, что каждое изменение в файлах .yml или .json будет отражено в документации. Им просто нужно продвигать изменения. Поскольку вам необходимо поддерживать эти API-интерфейсы, совместимые с Swagger, я лично предлагаю использовать файл .yml просто потому, что он более читабельный.

person Ali Dehghani    schedule 14.11.2016
comment
Возможно ли, что swagger-ui будет отображать json из того же каталога? Например, у меня есть swagger-ui в моей папке / static content, а также у меня есть файл swagger.json. - person Orest; 14.11.2016
comment
@Orest Это должно быть возможно. Вы просто передаете yml ссылку на файл в пользовательский интерфейс swagger - person Ali Dehghani; 14.11.2016
comment
@AliDehghani - Как мы можем передать детали пользовательской пагинации через пользовательский интерфейс Open API 3? - person Pra_A; 20.01.2020