HTTP请求报错:400 Bad Request!神奇的问题!

有时候碰到这种错误,就是参数与接口不一致导致的!但是神奇的地方post就是后台没参数,调用方也没用传参数!还是报这个错误!这就神奇了!

HTTP状态 400 - 错误的请求
类型 状态报告

描述 由于被认为是客户端对错误(例如:畸形的请求语法、无效的请求信息帧或者虚拟的请求路由),服务器无法或不会处理当前请求

排查吧,好多人都是丈二和尚摸不着头脑,没用思路,其实这个错误信息已经说了,是包装的请求有问题,那就是中间有什么东西搞错了。
1.客户端,甭管axios、ajax,都是http请求,封装的请求头是浏览器的事情,所以肯定不是前端的事情了。
2.后台接口服务了,不是说参数不一致么,写个demo,填上参数呢。试一试,这你就发现200了,成功了!
那接口又不需要参数,怎么就不行了呢?试一试前端调用传个空的{}试一试呢?你发现也是200了,也通了!神奇吧。
中间谁的问题呢?大部分web框架都是springboot、springmvc,很少出现这个情况的,你一想为了发布api接口方便,使用swagger,是不是它的问题呢?swagger post请求时,不传参数会报400错误的,它post有个requiredAttributes参数长度判断,你计算传个空,也可以通过判断,但是不传data或者params就不行!
这真是


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容