SwaggerUI:显示/隐藏隐藏的架构字段

问题描述 投票:0回答:1

我正在尝试在项目中设置 OpenApi 文档。目前,我正在记录一个接收 DTO 并返回 DTO 作为响应的端点。

我的实体 DTO 有一个隐藏的私有字段(通过 @Schema 注释:id)。我用的是这个安诺。因为 POST 的示例 JSON 中没有包含该字段..

到目前为止一切都很好,但我希望在 swagger-ui 内的响应示例值 JSON 中显示 id。

响应和请求的示例相同: { “标题”:“字符串”, “副标题”:“字符串”, “出版商”:“字符串”, "发布日期": "字符串", “描述”:“字符串”, “页数”:0, “语言”:“字符串”, "预览链接": "字符串", “项目数量”:0 }

但是为了记录“响应”,我希望下面的 JSON 也包含隐藏的架构字段。我可以以某种方式做到这一点吗? [图像示例] (https://i.stack.imgur.com/PsXfJ.jpg)

我的方法如下:

@ApiResponse(description = "成功响应", responseCode = "200",content = @Content(schema = @Schema(implementation = BookDto.class)))

但我希望能够在不创建自定义 @Content 模式的情况下,将隐藏字段包含在 API 响应文档示例中。

java spring-boot swagger-ui openapi
1个回答
0
投票

好吧,我为我的遭遇找到了解决方案。

而不是在我的 DTO 中使用

@Schema(hidden=true)
作为
id
字段。我改用:
@Schema(accessMode = Schema.AccessMode.READ_ONLY)

这改变了 Swagger 的行为,如我所愿。

© www.soinside.com 2019 - 2024. All rights reserved.