我使用的是Spring Boot and REST and Open API 3实现。在这个例子中,v1组有List实现-所有数据都将在List中,在v2组有分页实现-所有数据都将以页的形式出现。
对于消费者,我们不想更改端点url来让它们被消费。
返回list的端点。
@GetMapping(value = "/contacts", headers = {"Accept-version=v1"})
public ResponseEntity<List<Contact>> findAll() {
List<Contact> contacts = contactService.findContactList();
return new ResponseEntity<>(contacts, HttpStatus.OK);
}带分页的端点
@GetMapping(value = "/contacts", headers = {"Accept-version=v2"})
public ResponseEntity<List<Contact>> findAll(Pageable pageable) {
Page<Contact> contactPages = contactService.findContactPageable(pageable);
return new ResponseEntity<>(contactPages, HttpStatus.OK);
}我希望V1端点在GroupedOpenApi中显示,v2端点在GroupedOpenApi2中显示。有什么建议吗?
发布于 2020-01-31 05:46:47
让我们假设您将两个端点放在不同的包中,然后使用以下GroupedOpenApi定义:
@Bean
public GroupedOpenApi groupOpenApiV1() {
return GroupedOpenApi.builder()
.setGroup("v1")
.packagesToScan("test.org.springdoc.api.v1")
.build();
}
@Bean
public GroupedOpenApi groupOpenApiV2() {
return GroupedOpenApi.builder()
.setGroup("v2")
.packagesToScan("test.org.springdoc.api.v2")
.build();
}https://stackoverflow.com/questions/59979878
复制相似问题