当前位置: 首页 > news >正文

swagger 接口参数字段错误

swagger 接口参数字段错误

后端的接口需要使用@Vaild注解进行入参的校验,通常可以在实体类Entity的字段上加上校验注解,例如@Blank校验字段不能为空。如果多个接口都需要使用校验的话,可以用分组校验功能,但是如果接口变多的话,实体类字段上就会显得特别乱。

我的做法是每个Controller对应一个Request类,每个接口入参使用Request的静态内部类,集成实体类,并重写需要校验的get方法。Entity、Request类示例如下
Entity

@EqualsAndHashCode(callSuper=true)@DatapublicclassProcessingParameterextendsBaseEntity<ProcessingParameter>{privateStringparamCode;privateStringparamName;privateStringspec;privateStringproduct;privateStringprocess;privateStringpath;privateStringunit;}
publicclassProcessingParameterRequest{publicstaticclassInsertRequestextendsProcessingParameter{@NotBlank@OverridepublicStringgetParamCode(){returnsuper.getParamCode();}@NotBlank@OverridepublicStringgetParamName(){returnsuper.getParamName();}@NotBlank@OverridepublicStringgetSpec(){returnsuper.getSpec();}// ...}publicstaticclassUpdateRequestextendsProcessingParameter{@NotBlank@OverridepublicStringgetId(){returnsuper.getId();}@Null(message="不允许修改参数的单位")@OverridepublicStringgetUnit(){returnsuper.getUnit();}@Null(message="不允许修改Code")@OverridepublicStringgetParamCode(){returnsuper.getParamCode();}}}

但是在swagger中,接口的参数,和实际的根本不对应,网上查询的都说是springfox对重写get支持不好,升级到springdoc以及其他方法,都试了还是解决不了问题。

后来我发现,swagger页面链接到的/v2/api-docs中,发现同名InsertRequest的引用有很多处,这时我才发现,或许是因为类同名了,所以swagger接口文档参数生成的有问题,实际上可能所有的使用了XXXX.InsertRequest 的接口都会遇到这个情况,虽然内部类所在的类是不一样的,但是都叫做InsertRequest。

于是我给每个Request类中的每个静态内部类都加上了注解,并且注解中的value名都各不相同

@ApiModel(value="ProcessingParameterRequest.InsertRequest",description="新增-参数")

于是问题就解决了

http://www.jsqmd.com/news/140051/

相关文章:

  • 洛谷 P2602:[ZJOI2010] 数字计数 ← 数位DP
  • 详细介绍:洛谷 P1330:封锁阳光大学 ← 染色法 + 二分图
  • 一文读懂供应链、采购、运输、分销、配送的区别与协作逻辑
  • 光影向善,大爱无界!第44届华鼎奖好莱坞揭晓 安吉丽娜·朱莉榜上有名
  • PCIe-Tag Rule
  • 数据库运维基础从环境搭建到故障处理实战
  • EHR+AI助手:远程办公模式下HR与IT的合规协同方案
  • 支持灵活二次开发的 BI 工具首选!观远数据以开放架构赋能企业定制化需求
  • 2025最新!9个AI论文平台测评:本科生毕业论文写作全攻略
  • 解决 EasyExcel 首次导出耗时过长问题
  • SNP曼哈顿图绘制 - 指南
  • 2025HR数字化转型核心:IT驱动的人才敏捷性构建路径
  • 日总结 45
  • MySQL 知识点:函数索引(Functional Index)
  • 亿可达_自动发邮件攻略
  • 基于TCP/IP 通信,服务端主动召测客户端:高并发、高可用任务缓存队列框架设计(第三章)
  • SQL学习应用工作场景(2)--执行优先级+语法顺序+保留2位小数
  • 论文救星!9款免费AI生成器1天搞定,文理医工全覆盖必备
  • Linux系统相关知识
  • 工程BOM、制造BOM、成本BOM有什么区别?三套 BOM 各自解决什么问题?
  • 首尔大学团队揭秘:为什么AI绘画总是用“高斯分布“?
  • 好用的厦门考研公司
  • 记录2025年用AI编程干了哪些出格的事情
  • Kyutai团队的新突破:让AI看图片更便宜的神奇方法
  • 2025下半年软考纸质证书领取时间表来啦!
  • Scala 数组
  • cesium 根据经纬度高度进行额度补偿
  • 从概念到实践,带你彻底搞懂AI智能体
  • 数据交易中的数据基础设施与云服务
  • 滚珠丝杆直线导轨厂家哪家适配自动化设备高精度传动需求?