Spring Документация API REST с использованием Swagger

Я ищу инструмент, который мог бы помочь мне создать документацию API RESTful. Мой сервер написан на Java и использует Spring MVC framework. У меня нет ПРОСМОТРОВ на моем сервере. Это 100% сервис RESTful, и все, что он делает, расходует JSON и выплевывает JSON.

Мне было интересно, совместим ли Swagger с аннотациями Spring?

Ответ 1

В настоящее время нет доступного модуля swagger Spring MVC (по крайней мере, от Wordnik), но в целом, возможность разворачивания службы REST на основе JVM довольно проста.

Поддержка сервера Swagger разделена на две части - основной сервер и интеграцию с службой REST. См. Swagger github repo. Ядро Swagger определяет документ, который представляет службу REST, параметры, допустимые значения, операции HTTP и т.д. Интеграция сервера прокладывает этот документ в структуру структуры REST. Wordnik использует Джерси через JAX-RS и выпустил swagger-jaxrs для этой интеграции. Существует также модуль Swagger-Play, который вскоре будет выпущен в репозиторий модуля Play.

Если вы хотите включить swagger в другую среду REST (например, Spring MVC), выполните следующие действия:

1) Создайте API-интерфейс для создания объекта com.wordnik.swagger.core.Documentation. См. JAX-RS, а также версию play.

2) Создайте конечную точку REST, которая возвращает JSON/XML-версию объекта Documentation клиенту. Опять же, JAX-RS и play.

3) Добавьте фильтр для перехвата запросов для обеспечения доступа к ресурсам или объектам.

Короче говоря, его можно было бы легко собрать.

Ответ 2

В настоящее время выполняется реализация Swagger-SpringMVC здесь и примеры здесь.

Спектр v1.2 полностью реализован и поддерживается (т.е. генерируются модели с полной поддержкой дженериков), и он находится в активной разработке.

Ответ 3

Другая реализация Swagger для Spring MVC - swagger4spring-web.

Он похож на Swagger-SpringMVC и поддерживает все аннотации Swagger и генерирует схему JSON для возвращаемых типов и параметров. Он также работает без аннотаций swagger.

Ответ 4

Если вы только после создания интерактивного документа API (без необходимости сотрудничества с вики-стилем), I/O Docs будет лучшее решение требует гораздо меньше усилий для настройки, использования и настройки, IMHO.

Он работает на узлах и Redis. Вам нужно всего лишь написать схему JSON вашего API и создать сайт HTML/JS, который описывает ваш API, и позволяет разработчикам играть с ним в прямом эфире из своего браузера.

Я планирую разместить свой API на своем сервере (так как требуется, чтобы кто-либо установил 2 других программного обеспечения, чтобы просмотреть API, было бы сумасшедшим), но сама схема JSON уже имеет приятную читабельную и компактную структуру, которая, на мой взгляд, будет достаточной для сотрудничество с другими программистами. Это небольшой проект.

Существует похожий вопрос, который вы можете проверить.

Ответ 5

Swagger 2.0 - последняя версия Swagger.

В настоящее время доступны различные варианты Swagger для различных потребностей.

io.swagger - это пакет для библиотек swagger, и вам нужны отдельные банки spring, чтобы связать его с Spring. Это версия 2 чванства.

io.springfox - это Springfox Swagger2, в котором swagger интегрирован с Spring.

com.mangofactory интегрирован с инфраструктурой spring Web MVC.