@RequestBody 部分属性没有转化成功的处理
@RequestBody 部分属性没有转化成功
项目中在编写添加User的API的接口的时候发现
我把User参数设置成了@ResquestBody,但是测试的时候发现即使传入所有属性的数据,但是Controller在接收到的User实例里面只有部分属性被转化了,其他属性均没有转化成功。
后来经查明,发现是@ResquestBody只转化有getter的属性,我把所有有属性都添加getter,然后就可以正确转化了!
另外我发现如果是boolean属性可以添加isXX()的方法也可以
@RequestBody某些属性值得不到
@RequestBody接收的实体类中的属性名如果是第一个字母小写第二个字母大写的情况,不能正常的从JSON转换成实例类属性
解决方案
方案一:
- 改名字,第二个大写的改成小写就行了(实际开发中改名字使名字不符合驼峰命名法不恰当)
方案二:
- 加上@JsonProperty注解,指定某个方法JSON转换时的名字,上述实体类将修改为
@JsonProperty(value = "pCode") private String pCode;
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
mybatis-plus配置控制台打印完整带参数SQL语句的实现
这篇文章主要介绍了mybatis-plus配置控制台打印完整带参数SQL语句,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-08-08Java concurrency之CountDownLatch原理和示例_动力节点Java学院整理
CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 下面通过本文给大家分享Java concurrency之CountDownLatch原理和示例,需要的的朋友参考下吧2017-06-06Java异常处理操作 Throwable、Exception、Error
这篇文章主要介绍了Java异常处理操作 Throwable、Exception、Error,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-06-06
最新评论