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

标签 swagger swagger-ui openapi springdoc springdoc-openui

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

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

PS:我使用的是 OpenAPI v3 和 springdoc

最佳答案

您可以使用 OpenApiCustomiser。

例如,假设您有这个 Controller :

@RestController 公共(public)类 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");
    };
}

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

关于swagger - 我如何记录我没有所有权的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63229287/

相关文章:

spring-boot - OpenAPI 规范显示 "application/x-ww-form-urlencoded"但生成的 Spring Boot 需要 multipart/form-data 或 multipart/mixed 流

arrays - 如何将数组属性定义为逗号分隔?

angular - Swagger 代码生成 --> angular6 : rxjs observable compile error

api - ReDoc 是否有类似于 Swagger Editor 的实时编辑器?

rest - 如何在单个 swagger-ui 页面上显示多个休息服务 war 文件文档?

c# - .NET 核心 API : Disable multiple route expanding in SwaggerUI

java - springdoc-openapi 通用 Controller 类型参数支持

scala - 案例类中的查询参数 - Swagger 文档

swagger - Swagger查询参数中添加textarea

ruby - 为 REST API 创建动态 Ruby OpenAPI/Swagger 客户端的助手