一尘不染

Swagger没有通过Spring Boot检测到Spring Data Rest API

spring-boot

我设置了一个Spring Boot项目,其中包括Spring Data Rest和Swagger:

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

这是我的Swagger配置:

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

摘自application.properties:

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

运行服务器时,所有其余端点均已正确映射并可以访问/myapp/api/...,包括我自己创建的自定义RestController。

然而:

  • http://localhost:8080/myapp/api我可以看到春天的数据的REST API列表(JSON格式),但不能看到我的自定义RestController端点。

  • http://localhost:8080/myapp/swagger-ui.html我看到的一个不错的gui中,它仅列出了我的自定义RestController和错误端点,而不列出Spring Data Rest API。实际上,http:// localhost:8080 / myapp / v2 / api-docs没有对Spring Data Rest端点进行任何引用,而仅引用了我自定义的RestController和错误端点。

如何修复Spring Data Rest&Swagger配置?


阅读 424

收藏
2020-05-30

共1个答案

一尘不染

Spring Data
Rest支持
仅在springfox
2.6.0版本中引入。如果在升级到最新版本的springfox(在撰写本文时为2.6.1)之后,按照说明进行操作,则渲染端点应该没有问题。

2020-05-30