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

OpenAPI Generator生成的Spring Boot服务不校验required属性

问题原因

OpenAPI Generator 5.2.1版本默认未开启Bean Validation生成规则,同时Spring Boot 2.3及以上版本默认不内置校验依赖,两个因素共同导致required属性对应的校验逻辑不生效。

解决方案

  • 第一步:生成代码时开启校验参数
    执行生成命令时追加useBeanValidation和performBeanValidation两个附加属性,示例CLI命令如下:
openapi-generator-cli generate \
  -i 你的规范文件路径.yaml \
  -g spring \
  -o 代码输出目录 \
  --additional-properties=useBeanValidation=true,performBeanValidation=true

如果使用Maven/Gradle插件调用生成器,在插件配置的additionalProperties节点下添加上述两个属性即可。开启配置后,生成的AuthLoginRequest类的username和password字段会自动加上@NotNull注解,Controller接口的请求体参数会自动加上@Valid注解触发校验。

  • 第二步:补充校验依赖
    Spring Boot 2.3及以上版本的spring-boot-starter-web不再内置校验组件,需要手动在项目依赖中添加spring-boot-starter-validation,Maven配置示例:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
</dependency>
  • 第三步:版本兼容修复
    如果完成上述两步后校验仍未生效,是5.2.1版本的已知bug导致,可将OpenAPI Generator版本升级到5.4.0及以上,该版本已修复required字段不生成@NotNull注解的问题。

内容的提问来源于stack exchange,提问作者Rajdip Patel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 04:36:03