我如何记录我没有所有权的对象?

How can I document objects that I don't have ownership over?

我在我的方法端点中返回一个 Page<SomeObject>。在我的 OpenAPI UI 中,如何生成来自 org.springframework.data.domain.Page 类型的字段的描述。 通常我所做的是转到我要记录的对象并用 @Schema(description = "some description") 注释其字段。但是我无法访问 Page class。我如何记录它的字段?

我可能遗漏了一些简单的东西,但我们将不胜感激。

PS: 我正在使用 OpenAPI v3 和 springdoc

您可以使用 OpenApiCustomiser。

假设您有这个控制器:

@RestController public class 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");
    };
}

相同的逻辑适用于您想要自定义的任何其他属性。