2017-01-02 6 views
9

I настроить Spring загрузки проекта, включая Spring Data Rest и Swagger:Кураж не обнаруживает Spring Data Rest API, с Spring загрузки

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-rest</artifactId> 
</dependency> 
<dependency> 
     <groupId>io.springfox</groupId> 
     <artifactId>springfox-swagger2</artifactId> 
     <version>2.4.0</version> 
</dependency> 
<dependency> 
     <groupId>io.springfox</groupId> 
     <artifactId>springfox-swagger-ui</artifactId> 
     <version>2.4.0</version> 
</dependency> 

Это моя конфигурация Сваггер:

@Configuration 
@EnableSwagger2 
public class SwaggerConfig { 
    @Bean 
    public Docket api() { 
     return new Docket(DocumentationType.SWAGGER_2) 
       .select() 
       .apis(RequestHandlerSelectors.any()) 
       .paths(PathSelectors.any()) 
       .build(); 
    } 
} 

Выдержка из приложения. свойства:

spring.data.rest.base-path=/api 
server.context-path=/myapp 

Когда я запускаю сервер, все остальные конечные точки правильно отображаются и достижим до /myapp/api/..., включая пользовательский RestController, который я создал самостоятельно.

Однако:

  • в http://localhost:8080/myapp/api я могу увидеть список Spring Data API, Rest (в формате JSON), но не может видеть мои собственные RestController конечные точки.

  • at http://localhost:8080/myapp/swagger-ui.html Я вижу приятный gui, в котором отображается только мой пользовательский RestController и конечная точка ошибки, а не API Spring Data Rest API. Фактически, http://localhost:8080/myapp/v2/api-docs не ссылается на конечные точки останова Spring Data, но только на мой пользовательский RestController и на конечную точку ошибки.

Как я могу исправить свой весовой запас данных & Конфигурация Swagger?

ответ

4

Spring Data Rest support был представлен только весной версии 2.6.0. Если вы следуете за the instructions после обновления до последней версии springfox (2.6.1 на момент написания этой статьи), у вас не должно возникнуть проблемы с рендерингом конечных точек.

+0

Спасибо. Я обновил свою версию до версии 2.6.1 и добавил зависимость от Maven с инструкциями, но я продолжаю находиться в той же ситуации. – Manu

+0

Добавить: '.pathMapping ("/myapp ")' после '.build()' – sofend

1

Вы импортировали конфигурацию из-подголовника-данных? Как сказал Дилип Кришнано, я следовал инструкциям и импортировать конфигурацию, добавляя эту аннотацию к моему основному классу Application:

@Import({springfox.documentation.spring.data.rest.configuration.SpringDataRestConfiguration.class}) 

Надеется, что это помогает!

+0

эй, где он должен быть помещен? Какой файл? –

+0

@LuizMitidiero Вы можете, например, добавить его в основной класс приложения или в класс SwaggerConfig. –

3

Обновления до последней версии чванства

<dependency> 
     <groupId>io.springfox</groupId> 
     <artifactId>springfox-swagger2</artifactId> 
     <version>2.7.0</version> 
    </dependency> 
    <dependency> 
     <groupId>io.springfox</groupId> 
     <artifactId>springfox-data-rest</artifactId> 
     <version>2.7.0</version> 
    </dependency> 
    <dependency> 
     <groupId>io.springfox</groupId> 
     <artifactId>springfox-swagger-ui</artifactId> 
     <version>2.7.0</version> 
    </dependency> 

Дополнительно импорт пружинных данные остальных аннотаций на классе пружинного Configuration/Application.

@Import(SpringDataRestConfiguration.class) 
+0

'@Import (SpringDataRestConfiguration.class)' сделал трюк для меня. Я поместил его в класс 'Application'. Благодаря! –