2012-02-08 3 views
34

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

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

ответ

21

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

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

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

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

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

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

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

+1

Возможно ли создать чистый Java-модуль? – tbruyelle

+17

Модуль SpringMVC для Swagger теперь существует здесь: https://github.com/martypitt/swagger-springmvc –

+0

Можете ли вы передать трюк с биркой? См. Здесь: http://stackoverflow.com/documentation/swagger/commit – Stephan

3

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

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

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

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

20

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

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

+0

Это через пару лет. В примере, который вы указали, используется Swagger 0.7.0 (текущая версия на данный момент составляет 0.8.3). Можете ли вы подтвердить, что примерный проект по-прежнему имеет значение? У меня возникли проблемы с настройкой моего проекта. –

+0

@ steve.hanson 0.8.4 был выпущен, и он обновил ссылки на демонстрационную демонстрацию в ReadMe. Кроме того, конфигурация была значительно упрощена –

5

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

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

3

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

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

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

io.springfox является Springfox Swagger2, в котором чванство поставляется с весной.

com.mangofactory интегрирован с Spring Web MVC framework.

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

  • Нет связанных вопросов^_^