Я разработал веб-сервис RESTful в Java
и Spring boot
с использованием Jax-RS
, и я хотел бы задокументировать его с помощью Swagger
. До сих пор мне удалось отобразить страницу swagger-ui.html на http:8080/localhost/<context>/swagger-ui.html
. К сожалению, мои конечные точки RESTful нигде не отображаются .
Что я использую:
pom.xml
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
Класс конфигурации Swagger
@Configuration
@EnableSwagger2
public class SwaggerConfiguration
{
@Autowired
private TypeResolver typeResolver;
@Bean
public Docket api()
{
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("org.nick.java.webservice.services"))
.paths(PathSelectors.any())
.build()
.enable(true)
.apiInfo(getApiInfo())
.tags(
new Tag("My web service", "Methods for my RESTful service")
);
}
private ApiInfo getApiInfo() {
ApiInfo apiInfo = new ApiInfoBuilder()
.title("API Documentation")
.description("API")
.version("1.0")
.contact(new Contact("mycompany", "", "nickath@mycompany.com"))
.build();
return apiInfo;
}
пример конечных точек JAX-RS
package org.nick.java.webservice.services;
@Path("/contextsapi")
@Consumes("application/json")
@Produces("application/json")
@Api(value = "Contexts API", produces = "application/json")
public interface ContextAPI {
@Path("/contexts/contexts")
@GET
@ApiOperation( value = "get contexts",
response = List.class)
List<Context> getContexts();
снимок экрана со страницей swagger-ui.html
как видите, метод 'get contextxts' не был сгенерирован
Есть идеи, что я делаю не так?
======= ОБНОВЛЕНИЕ - РЕАЛИЗАЦИЯ УСЛУГИ ========
package org.nick.java.webservice.services.impl;
@Service
@Api(value = "Contexts Api Impl", produces = "application/json", description = "desc")
@Path("/contextsapi")
public class ContextAPIImpl implements ContextAPI {
@Override
@GET
@ApiOperation( value = "get contexts", response = List.class)
public List<Context> getContexts(){
//code ommitted
}
}