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

出现场景:

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

发现问题过程:

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

教训:

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

相关推荐
黑猫学长呀18 小时前
【驱动开发常见问题】编译出现rm: cannot remove `asm/arch‘: Is a directory
驱动开发·单片机·嵌入式硬件·bug·编译报错·kernrl
姚青&1 天前
测试流程搭建
测试用例·bug·jira
mmsx2 天前
return false 不是拦截:一次按键触发两个动作的事件冒泡陷阱
android·bug
随风丶飘2 天前
[特殊字符] 告别“update“和“fix bug“——Smart Git Commit LLM 让 AI 帮你写专业的 Git 提交信息
人工智能·git·bug
czhc11400756633 天前
崩溃复查与“回声“bug:异常码判案、漏网之鱼和耳塞开关
bug
mmsx4 天前
我明明调用了 zoomToBounds,地图却总是停在别处?延迟加到 5 秒也没用,真相只有一个
android·人工智能·bug·地图
mmsx4 天前
置灰按钮为什么自己又“亮“了?一次状态缓存“双写冲突“的排查记录
java·缓存·bug·livedata
MartinYeung55 天前
[bug 分析] Orchard 伪造漏洞: 深度代码剖析
安全·区块链·bug
为你奋斗!5 天前
禅道Bug导出CSV文件批量转Word+图片离线部署操作手册
word·bug
隔窗听雨眠7 天前
Library Cache Lock性能故障深度解析:JDBC驱动Bug、绑定变量长度与游标激增的连环效应
bug·library