spring boot 服务端,前端Option请求出现 HTTP 400 错误解决办法
一般Http请求出现400错误的情况有两种:
- 1、bad request 意思是 "错误的请求";
- 2、invalid hostname 意思是 "不存在的域名"。
与别的40x请求的错误不同,400 Bad Request 是由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求。
即可以认为是客户端自身的原因,导致服务器不认这个请求。
那么客户端在出现什么问题会出现400错误呢?笔者总结有以下三个情况:
- 1、前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装;
- 2、前端提交的到后台的数据应该是 json 字符串类型,而前端没有将对象转化为字符串类型;
- 3、URL中含有非法字符。(导致框架难以拆包)
解决办法:
- 1、对照字段名称,类型保证一致性
- 2、使用 stringify 将前端传递的对象转化为字符串:
data: JSON.stringify(param);
- 3、对URL参数name = value中的value部分编码。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。