SpringBoot使用@RequestBody 报错400 2019-10-26
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot使用@RequestBody 报错400 2019-10-26相关的知识,希望对你有一定的参考价值。
参考技术A 大意就是请求被CORS策略阻止。2019/10/27找到了原因:
vue 发送json ,会导致此次请求被认为是一次复杂的请求,所以会发送两次请求(为什么会发送两次请自行查询 ),第一次不带任何数据,服务端口的@RequeseBody 会默认请求的数据为空时报错。
解决办法:
1 如上: 加上 required=false 参数,不检查数据是否为空
2 使用拦截器,通过request.getMethod(),得到请求方法,如果是OPTIONS 就直接返回,特别注意返回时要带上响应头以允许这次跨域访问(为什么要允许跨域访问自行查询)
以上是关于SpringBoot使用@RequestBody 报错400 2019-10-26的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot Controller 中使用多个@RequestBody的正确姿势
在 SpringBoot 中使用 @Valid 和 @Requestbody 验证 JSON 对象
springboot中@RequestBody和@ReponseBody获取参数
SpringBoot 实战:在 RequestBody 中优雅的使用枚举参数