提问人:Padmasankha 提问时间:11/16/2023 更新时间:11/16/2023 访问量:12
在 Swagger 文档中排除子类架构
Excluding child class schema in Swagger documentation
问:
我正在使用 Java 中的 Swagger/OpenAPI 注释来记录我的 API,并且我有一个场景,我想从生成的 Swagger 文档中的子类中排除架构。下面是我的类的简化示例:
@Schema(allOf = {
Student.class,
Teacher.class
})
public abstract class Person {
@Schema(description = "Personal Number", example = "00000000-0000")
private String ssn;
protected Person() {
}
public Person(final String ssn) {
this.ssn = ssn;
}
public void setSsn(final String ssn) {
this.ssn = ssn;
}
}
public class Student extends Person {
@Schema(description = "Student name", example = "Alex")
private String name;
private Student() {
}
public Student(String ssn, String name) {
super(ssn);
this.name = name;
}
public String getName() {
return name;
}
}
public class Teacher extends Person {
@Schema(description = "Working place", example = "Gov. School")
private String school;
private Teacher() {
}
public Teacher(final String ssn, final String school) {
super(ssn);
this.school = school;
}
public String getSchool() {
return school;
}
}
API 请求端点:
@Controller("/person")
public class PersonEndPoint {
@Post
public HttpResponse<Void> insertPerson(
@Body final Person personRequest) {
return HttpResponse.accepted();
}
}
这是使用 swagger 3 的 micronaut 服务。我需要从 swagger 文档中隐藏下面的架构。
尽管在 Student 类中使用,但子类仍出现在 Swagger 文档中。有没有办法实现这种排除,或者有没有我可以考虑的替代方法?@Schema(hidden = true)
答: 暂无答案
评论