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 中优雅的使用枚举参数

SpringBoot使用@RequestBody 报错400 2019-10-26

SpringBoot中使用@RequestBody时如何自定义需要转换的日期格式