Я реализовал контроллер, используя @BasePathAwareController
, который также использует преимущества Spring Data REST (для поиска, чтобы выставить сортировку / размер и т. Д.) Наряду с некоторыми пользовательскими конечными точками (для обновлений и т. Д.). Приложение работает должным образом, а конечные точки, которые генерирует Spring Data REST, работают должным образом, и я вижу, что в ответах появляются собственные ссылки, однако я не вижу этих конечных точек в Swagger UI. Я просто вижу свои пользовательские конечные точки, определенные в моем контроллере.
Согласно этому сообщению Мне нужно использовать Swagger 3.0.0-SNAPSHOT
с @EnableSwagger2WebMvc
Вот мои конфигурации:
Мой app.yml
:
spring:
data:
rest:
basePath: /api/v1
Мой POM
файл:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
<relativePath/>
</parent>
<properties>
<springfox.swagger.version>3.0.0-SNAPSHOT</springfox.swagger.version>
</properties>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox.swagger.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${springfox.swagger.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-data-rest</artifactId>
<version>${springfox.swagger.version}</version>
</dependency>
Файл конфигурации Swagger:
@Configuration
@Import(SpringDataRestConfiguration.class)
@EnableSwagger2WebMvc
public class SwaggerConfig {
@Bean
public Docket api(ServletContext servletContext) {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("my.package.name"))
.paths(PathSelectors.any())
.build().apiInfo(apiEndPointsInfo());
}
private ApiInfo apiEndPointsInfo() {
return new ApiInfoBuilder().title("My App REST API's")
.description("My App REST API's")
.version("1.0").build();
}
}
Мой репозиторий:
@RepositoryRestResource(exported=true, collectionResourceRel="group", path="group")
public interface GroupRepository extends JpaRepository<Group, Long>, JpaSpecificationExecutor<Group> {
}
Почему можноя вижу конечные точки по умолчанию, которые создает Spring Data REST?