有时候碰到这种错误,就是参数与接口不一致导致的!但是神奇的地方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