2016-10-20 3 views
2

Я пытаюсь использовать интерфейс API Swagger для API, который разработан с использованием Spring Boot framework.Spring boot with swagger UI дает пустую страницу

1) Зависимость в ПОМ

<dependency> 
     <groupId>io.springfox</groupId> 
     <artifactId>springfox-swagger2</artifactId> 
     <version>${springfox-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>io.swagger</groupId> 
     <artifactId>swagger-core</artifactId> 
     <version>${swagger-core-version}</version> 
    </dependency> 




<properties> 

    <springfox-version>2.5.0</springfox-version> 
    <swagger-core-version>1.5.10</swagger-core-version> 

</properties> 

2) конфигурация Ярлык конфигурации

@ComponentScan(basePackages = {"com.testApp.*"}) 
@Configuration 
@EnableSwagger2 
public class Application { 

@Bean 
    public Docket api() { 

     return new Docket(DocumentationType.SWAGGER_2) 
       .select().apis(
         RequestHandlerSelectors.any()) 
         .paths(PathSelectors.any())        
         .build(); 

    } 


public static void main(String[] args) { 
    SpringApplication.run(Application.class, args); 
} 

3) ресурсов в com.testApp пакете

@Path("/resources") 
@Api(value = "Test resource", produces = "application/json") 
public class MyResource { 

@Autowired 
public SomeClass someclass; 

/** 
* 
* @param uriInfo 
* @return 
* @throws PlatformException 
*/ 
@ApiOperation(value = "Gets a hello resource. World Version 1 (version in Accept Header)", response = String.class) 
@ApiResponses(value = { 
    @ApiResponse(code = 200, message = "Hello resource found"), 
    @ApiResponse(code = 404, message = "Hello resource not found") 
}) 

@GET 
@Produces({ MediaType.APPLICATION_JSON }) 
public String loadResouces(@Context UriInfo uriInfo) { 
    //method defination 
} 

Эта служба работает на порту 9001. при каждом ударе localhost: 8080/swagger-ui.html. Он возвращает пустую страницу swagger-ui. Я пробовал несколько свойств Docket, таких как хост, pathmapping и т. Д. Но я не могу генерировать документацию, используя это.

ответ

0

Насколько я знаю, springfox-swagger2 поддерживает API, реализованные с использованием только Spring MVC.

Если вы предпочитаете использовать конечные точки, используя JAX-RS, но по-прежнему используйте Swagger для их документирования, пожалуйста, взгляните на this answer.

«Практическое руководство» можно найти в блоге, который я создал некоторое время назад, Microservices using Spring Boot, Jersey Swagger and Docker