POST请求查询参数神奇失效的一次神奇bug之旅

出现场景:

某日我看着GET请求的参数逐渐变多,想个改成POST请求得了,这样body传参美观又方便,于是接口从GET变成了POST,然后查询参数就莫名其妙的就全部失效了,接口也没有报错,就参数失效了,查询了全部数据。

发现问题过程:

自己捣鼓了半天没发现异常,然后删除了一些前端查询参数,结果查询条件突然生效了,那导致查询生效的参数就一定是在自己刚刚删除的参数里面,通过对比发现后端定义的时间类型是Date的参数被前端传了个数组类型,主要它不报错呀,直接使全部查询参数失效了,debug看传进去的body对应是实体里面只有Integer类型的值还在,其他全为null了,真想骂人啊,要是其他类型传错了参数格式,它是会报错了,可是上述的场景就是不会。

教训:

尽量别使用Date来接收参数,容易踩坑,当出现其他查询参数失效的时候,检查下是不是Date对应的传参被传了个数组进来。

相关推荐
ALGO阿狗13 天前
SimpleDateFormat(“YYYY-MM-dd“)格式化时间出现了bug?
bug
爱学习的小可爱卢14 天前
JavaSE基础-Java异常体系:Bug定位终极指南
java·bug·javase
GeekyGuru14 天前
代码诊疗室——疑难Bug破解战
bug
嵌入式×边缘AI:打怪升级日志17 天前
9.2.3 UART 驱动严重 Bug(保姆级讲解)
bug
qq_242188633219 天前
代码诊疗室——疑难Bug破解战
bug
Moshow郑锴21 天前
Java SpringBoot 疑难 Bug 排查思路解析:从“语法正确”到“行为相符”
java·spring boot·bug
人间花海21 天前
BUG终结者:挑战你的调试极限
bug
2401_8582861121 天前
OS54.【Linux】System V 共享内存(3) “共享内存+管道“修bug记录
linux·运维·服务器·算法·bug
Kurbaneli22 天前
代码诊疗室——疑难Bug破解战
bug
Mr -老鬼24 天前
从 0 到 1 落地:Rust + Salvo 实现用户系统与 Bug 管理系统
开发语言·rust·bug