news 2026/6/10 11:52:32

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/6/9 22:15:12

微爱帮监狱写信寄信小程序与中国邮政焦作支局战略合作技术方案

一、合作背景微爱帮与中国邮政焦作支局达成战略合作&#xff0c;共同构建安全、可靠的监狱信件传输体系&#xff0c;确保特殊群体通信的合法合规与信息安全。二、信件安全保障方案1. 双层安全审核机制class LetterSecuritySystem:def __init__(self):self.content_scanner Con…

作者头像 李华
网站建设 2026/6/9 6:47:10

如何轻松的写一篇内容

管不住顺手刷社媒&#xff0c;那就反手写内容&#xff01;2024年做个决定&#xff0c;每周关注一个话题&#xff0c;然后写一篇内容&#xff0c;要尽量用花里胡哨的表达风格。就是为了练键盘&#xff0c;文字随便敲。如果只写专业的方向&#xff0c;固定的实践经验和思路&#…

作者头像 李华
网站建设 2026/6/8 10:20:37

GCC -fhardened 面向生产构建的安全加固落地指南

GCC 14 引入的 -fhardened 是一个面向生产环境的安全加固选项集合&#xff0c;旨在不改变 ABI 的前提下&#xff0c;系统性启用主流 Linux 平台的编译期与链接期防护能力。本文将深入解析 -fhardened 的设计目标、与 PIE/ASLR 的关系、与 LTO 的已知问题&#xff0c;以及在 CMa…

作者头像 李华
网站建设 2026/6/4 3:05:31

首尔大学团队揭秘:为什么AI绘画总是用“高斯分布“?

这项由首尔大学数据科学研究院的李俊豪、金官锡和李俊锡团队完成的研究发表于2025年12月的《机器学习研究汇刊》&#xff08;Transactions on Machine Learning Research&#xff09;&#xff0c;感兴趣的读者可以通过论文编号arXiv:2512.18184查阅完整内容。说到AI绘画&#x…

作者头像 李华
网站建设 2026/6/3 12:33:28

前端架构演进之路——从网页到应用

1. 核心观点&#xff1a;前端的本质与边界首先我们需要重新定义前端。前端不仅仅是写页面&#xff0c;前端本质上是一种 GUI 软件。 技术的演进从来不是为了炫技&#xff0c;而是为了解决日益复杂的业务问题。我们的边界在不断拓展&#xff1a;向后&#xff1a;通过 Node.js/BF…

作者头像 李华
网站建设 2026/6/5 22:51:50

CRMEB 标准版系统(PHP)- 前端多语言开发指南

在全球化的环境中&#xff0c;前端多语言支持已经成为提升产品国际竞争力的关键。今天&#xff0c;我们就以CRMEB开源商城系统 & 标准版系统&#xff08;PHP&#xff09;为例&#xff0c;来探索一下基于vue技术框架的项目&#xff0c;该如何实现多语言开发。一、多语言应用…

作者头像 李华