首页 > 解决方案 > 如何记录我没有所有权的对象?

问题描述

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

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

PS:我正在使用 OpenAPI v3 和 springdoc

标签: swaggerswagger-uiopenapispringdocspringdoc-openui

解决方案


您可以使用 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");
    };
}

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


推荐阅读