У меня есть приложение Java 1.7, и я только что добавил Swagger для просмотра API REST, используя эту документацию.
Я добавил следующее:
пом. xml
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jaxrs</artifactId>
<version>1.6.2</version>
</dependency>
MyRestApplication. java
public class MyRestApplication extends Application
{
@Override
public Set<Class<?>> getClasses()
{
Set<Class<?>> resourceClasses = new HashSet<Class<?>>();
...
resourceClasses.add(io.swagger.jaxrs.listing.ApiListingResource.class);
resourceClasses.add(io.swagger.jaxrs.listing.SwaggerSerializers.class);
return resourceClasses;
}
}
web. xml
<servlet>
<servlet-name>Jersey2Config</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>https://localhost:8443/corporateInterface</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
Сервер JBoss запускается в обычном режиме без ошибок.
Вопрос
Как мне получить доступ к пользовательскому интерфейсу Swagger?
В документации сказано:
Теперь у вас должна быть возможность получить доступ к определению Swagger в /swagger.json и /swagger.yaml в контексте root вашего приложения. .
Итак, я пробовал следующее:
https://localhost:8443/corporateInterface/swagger.json
и
https://localhost:8443/corporateInterface/swagger.yaml
Но браузер возвращает 404 (не найдено).
Я могу получить доступ к своему обычному приложению с помощью:
https://localhost:8443/corporateInterface/login.do
UPDATE
Я также пробовал устанавливать ресурсы swagger в классе Application
, но все еще есть та же проблема не b eing может получить доступ к swagger.
public TravellinckRestApplication() {
BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.2");
beanConfig.setSchemes(new String[]{"https"});
beanConfig.setHost("localhost:8443");
beanConfig.setBasePath("/corporateInterface");
beanConfig.setResourcePackage("io.swagger.resources");
beanConfig.setScan(true);
}