Создать документацию API через Swagger на Javax (под JEE)?

Добрый вечер,

Мы пытаемся внедрить Swagger в существующий REST-проект, работающий на Wildlfly с Java EE. Цель состоит в том, чтобы создать документацию для REST-API во время выполнения.

Однако после добавления необходимых зависимостей (io.swagger:swagger-jaxrs) в нашу настройку Gradle мы попытались настроить генератор Swagger через файл web.xml.

<servlet-mapping>
<servlet-name>SwaggerConfig</servlet-name>
<url-pattern>/api/documentation</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>SwaggerConfig</servlet-name>
<servlet-class>io.swagger.jaxrs.config.DefaultJaxrsConfig</servlet-class>
<init-param>
<param-name>api.version</param-name>
<param-value>1.0.0</param-value>
</init-param>
<init-param>
<param-name>swagger.api.basepath</param-name>
<param-value>http://localhost:8080/api/documentation</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet> 

Нам удается обратиться к сервлету в */api/documentation через SOAP, но, похоже, не существует какой-либо документации, JSON-файла или чего-либо еще, и мы, похоже, не можем выяснить, где/как установить -до поколения.

Любая помощь, совет или ссылка на руководство, которое мы, возможно, пропустили, будут высоко оценены.


person Alblaka    schedule 06.11.2017    source источник


Ответы (2)


Swagger создает HTML-страницу, доступную во время работы внутреннего сервера.

Попробуйте /api/index.html

person Sedky A    schedule 06.11.2017
comment
Ни /api/index.html, ни /api/documentation/index.html не ведут ни на какой действительный сайт, сервер просто возвращает ошибку 404. - person Alblaka; 07.11.2017

Попробуйте api/documentation/swagger.json, где прятался мой файл :)

Я следовал руководству в репозитории git hub swagger-core шаг за шагом (и очень тщательно), и это сработало для меня (руководство по отдыху, поскольку вы используете wildfly): https://github.com/swagger-api/swagger-core/wiki/Swagger-Core-RESTEasy-2.X-Project-Setup-1.5

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

person Shai Rippel    schedule 27.06.2018