You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

springdoc-openapi UI 1.7.0中响应属性myMessages重复显示问题

问题原因及解决办法

为什么myMessages会显示两次?

springdoc-openapi 1.7.0版本存在解析bug:当字段同时使用@JsonProperty(required = true)、@NotNull和@Schema注解时,框架会重复识别该字段的元数据,导致Swagger UI中同一字段显示两次。

具体来说,@JsonProperty是Jackson的序列化注解,@NotNull是JSR-380的验证注解,@Schema是OpenAPI的文档注解,1.7.0版本的springdoc在处理这几个注解的组合时,会生成两份字段的文档定义。

解决办法

  • 移除重复的必填标记注解:保留@Schema(requiredMode = RequiredMode.REQUIRED)和@NotNull即可,前者负责Swagger文档标记必填,后者负责后端参数校验,不需要@JsonProperty(required = true)重复标记。修改后的代码如下:
@AllArgsConstructor
@Data
@NoArgsConstructor
@Schema(description = "包含字符串列表")
public class MyResponse {

    @Schema(requiredMode = RequiredMode.REQUIRED, description = "我的示例字符串列表")
    @NotNull
    private List<String> myMessages;
}
  • 升级springdoc-openapi版本:这个重复显示的bug在1.8.0及以上版本中已经被修复,直接升级依赖版本即可解决问题。

内容的提问来源于stack exchange,提问作者P H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 11:34:58