我设置了一个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
当我运行服务器时,所有的rest端点都被正确地映射并可以通过/myapp/api/...
访问,包括我自己创建的自定义RestController。然而:
在
http://localhost:8080/myapp/api
上,我可以看到Spring数据rest API列表(以Json格式),但无法看到我的自定义RestController端点。在
事实上,http://localhost:8080/myapp/v2/api-docs没有提及任何Spring Data Rest端点,而只提及我的自定义RestController和错误端点。http://localhost:8080/myapp/swagger-ui.html
上,我看到一个漂亮的界面,只列出了我的自定义RestController和错误端点,而没有Spring Data Rest APIs。
@Import(SpringDataRestConfiguration.class)
对我很有帮助。我把它放在了Application
类中。谢谢! - AlikElzin-kilaka