news 2026/5/9 12:12:54

swagger 接口参数字段错误

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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="新增-参数")

于是问题就解决了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 7:22:40

光影向善,大爱无界!第44届华鼎奖好莱坞揭晓 安吉丽娜·朱莉榜上有名

时值世界电影诞辰130周年的重要节点&#xff0c;一场汇聚星光与大爱的公益盛会于好莱坞璀璨启幕——第44届全球公益和慈善华鼎奖以发布会形式隆重揭晓获奖名单。作为华鼎奖品牌升级后首次推出的公益专项评选&#xff0c;本届盛典以“影视赋能公益”为核心&#xff0c;打破传统奖…

作者头像 李华
网站建设 2026/5/1 8:47:43

滚珠丝杆直线导轨厂家哪家适配自动化设备高精度传动需求?

自动化设备的精度越来越卷——从3C产品的微小元件装配到半导体的晶圆传输&#xff0c;都需要微米级的定位精度。很多用户问我&#xff1a;“哪些滚珠丝杆直线导轨厂家能适配这种高精度需求&#xff1f;”今天就来聊聊这个话题&#xff0c;结合实际场景&#xff0c;看看什么样的…

作者头像 李华
网站建设 2026/5/7 19:53:55

Spring AI Alibaba — ChatModel与ChatClient的联系与区别

下面是针对 Spring AI Alibaba&#xff08;基于 Spring AI&#xff09;中 ChatModel 和 ChatClient 的联系与区别&#xff0c;以及 链式代码&#xff08;Fluent API&#xff09;与样板代码&#xff08;Boilerplate Code&#xff09;区别的说明&#xff0c;并附带 Java 示例与完…

作者头像 李华
网站建设 2026/5/8 3:04:50

cesium 根据经纬度高度进行额度补偿

const offsetvalue 90; /***度数补偿值*/ const setCameraPosition async (lat: number, lon: number, du: number) > {var point turf.point([lat, lon]);var distance 600 * 1.732;var bearing du - 180 offsetvalue;var options: any { units: "kilometers&q…

作者头像 李华
网站建设 2026/4/30 22:06:43

Kyutai团队的新突破:让AI看图片更便宜的神奇方法

在计算机视觉和人工智能快速发展的今天&#xff0c;让机器既能看懂图片又能理解文字变得越来越重要。就在2024年12月&#xff0c;来自法国人工智能研究机构Kyutai的研究团队发表了一项引人注目的研究成果&#xff0c;为这个看似复杂的技术难题提供了一个既巧妙又实用的解决方案…

作者头像 李华
网站建设 2026/5/1 7:23:09

完整理解乐观锁(以预定系统为例)

乐观锁&#xff1a;并发控制的智慧之道什么是乐观锁&#xff1f;乐观锁&#xff08;Optimistic Locking&#xff09;是一种并发控制机制&#xff0c;其核心思想是"假设冲突很少发生"。与悲观锁&#xff08;Pessimistic Locking&#xff09;不同&#xff0c;悲观锁在访…

作者头像 李华