RequestBody接收参数报400错误

本文探讨了后端开发中使用requestBody接收复杂对象时遇到400错误的问题,解析了错误原因,并提供了几种解决方案,包括使用@JsonIgnoreProperties注解及自定义MyObjectMapper。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   当我们在后端需要接收一个复杂对象或者一个list对象时,经常需要用到requestBody来帮助我们将请求参数绑定到我们接收的对象上,requestBody将请求参数变成json串放到body里面,这样参数绑定简单快捷,通过ObjectMapper就将我们的参数绑定的事情都搞定了。

  但是使用requestBody经常会报400错误,400的错误意味着请求参数不符合后台接收参数的要求,如果我们使用log4j来打印日志,如果只是info级别,我们会什么都看不到。但是将日志级别调成debug,就会清楚的显示错误类型到底是什么。

  如果前台请求的参数里面包含了我们后台接收参数的对象里面不包含的属性时,也会报400错误,比较简单的做法是在接收的对象上加上@JsonIgnoreProperties(Ignore="true")即可,当然,也可以在配置文件里面将ObjectMapper换成我们自己写的MyObjectMapper也可以,在MyObjectMapper里面重写一下它参数绑定的方法即可。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值