Swagger not detecting Spring Data Rest APIs with Spring Boot

Did you import the configuration from springfox-data-rest? As Dilip Krishnan said, I followed the instructions and imported the configuration, adding this annotation to my Main Application class:

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

Hope it helps!


Upgrade to latest version of swagger

    <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>

Additionally import spring data rest annotation on spring Configuration/Application class.

@Import(SpringDataRestConfiguration.class)

For spring boot 2 you need to use springfox 3.0. Unfortunately at the time of this writing this version is not released yet but you can use the snapshot version.

<repositories>
    <repository>
      <id>jcenter-snapshots</id>
      <name>jcenter</name>
      <url>http://oss.jfrog.org/artifactory/oss-snapshot-local/</url>
    </repository>
</repositories>

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>3.0.0-SNAPSHOT</version>
</dependency>

Also you need to replace @EnableSwagger2 with @EnableSwagger2WebMvc.

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.data.rest.configuration.SpringDataRestConfiguration;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;

@Configuration
@EnableSwagger2WebMvc
@Import(SpringDataRestConfiguration.class)

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

Spring Data Rest support was only introduced in springfox version 2.6.0. If you follow the instructions after upgrading to the latest version of springfox (2.6.1 at the time of this writing) you shouldn't have a problem with rendering the endpoints.