java - Swagger:如何为响应的嵌入元素指定 oneOf 属性?
问题描述
假设我们有以下控制器方法:
@ApiResponses(value = {@ApiResponse(responseCode = "200")})
@GetMapping(value = "/animals", produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(HttpStatus.OK)
public Flux<AnimalResponse> getAnimals() {
return Flux.just(new AnimalResponse(new Dog("animal", "dog")));
}
AnimalResponse
看起来像:
class AnimalResponse {
private Animal animal;
}
和Animal
类是抽象类:
abstract class Animal {
private String animal;
}
扩展了两个类Dog
和Cat
:
class Cat extends Animal {
private String cat;
}
class Dog extends Animal {
private String dog;
}
使用默认的 Swagger 配置,它显示控制器响应仅包含一个animal
属于抽象类的字段,Animal
而没有关于其他可能字段的信息。在我看来,我需要以某种方式oneOf
为类指定 Swagger 属性Animal
,但我不知道如何正确执行,因为通常为不为嵌入元素oneOf
定义的属性。Response Object
那么,请您给点建议吗?
解决方案
推荐阅读
- dialogflow-es - 状态码为 401 的响应正文
- html - 具有动态内容的两个相邻 DIV。一个包装内容,另一个滚动溢出
- python - 在主循环中使用 serial.readline() 清空文件
- spring-boot - Spring Boot MyBatis:通过配置支持 java.util.Optional
- javascript - 如何使用 Java Script 获取 window.opener 的 URL
- graphql - 带有输入类型的 GraphQL Apollo 变异
- c - 从列表中删除元素
- javascript - 如何在 HTML 页面中嵌入 PDF?
- laravel - 如何通过 Laravel 验证允许特定字符
- css - 如何避免重复的元素只会改变 CSS 中的一件事?