【问题标题】:How can I document objects that I don't have ownership over?如何记录我没有所有权的对象?
【发布时间】:2020-11-23 12:16:12
【问题描述】:
我在我的方法端点中返回一个Page<SomeObject>。在我的 OpenAPI UI 中,如何生成来自 org.springframework.data.domain.Page 类型的字段的描述。
通常我所做的是转到我想要记录的对象并用@Schema(description = "some description") 注释它的字段。但我无权访问Page 课程。如何记录其字段?
我可能在这里遗漏了一些简单的东西,但我们将不胜感激。
PS:我正在使用 OpenAPI v3 和 springdoc
【问题讨论】:
标签:
swagger
swagger-ui
openapi
springdoc
springdoc-openui
【解决方案1】:
您可以使用 OpenApiCustomiser。
假设你有这个控制器:
@RestController
公共类 HelloController {
@GetMapping("/hello")
Page<PersonDTO> getPage() {
return null;
}
}
假设您要在 Pageable 元素中添加描述:
@Bean
public OpenApiCustomiser pageableOpenApiCustomiser() {
return openApi -> {
Schema pageableSchema = openApi.getComponents().getSchemas().get("Pageable");
pageableSchema.setDescription("my description");
};
}
同样的逻辑适用于您需要自定义的任何其他属性。