首页 > 其他分享 >使用@RequestBody注解接收的实体类中的某些参数为null

使用@RequestBody注解接收的实体类中的某些参数为null

时间:2023-01-10 10:22:06浏览次数:40  
标签:setcEnterpriseId set RequestBody 实体类 注解 null

原因

postman调试接口

为null的参数命名不符合“驼峰法”,类似实体类A的属性 cEnterpriseId ,这种命名是不规范的

和lombook的@Data注解有关

用postman传一个json到接口,json在传输过程中会被转为“字节流”,接口controller层的@RequestBody加在实体类参数前面,会把接收到的字节流反序列成为一个java实体类。@RequestBody在反序列化的时候给实体类赋值使用的get/set方法是idea自动生成的get/set方法,即:getcEnterpriseId()/setcEnterpriseId(),

所以@RequestBody是用setcEnterpriseId()给是实体类A赋值,但在A类中setcEnterpriseId()是不存在的,A类中通过lombook的@Data注解生成的只有setCEnterpriseId()方法

setcEnterpriseId() 不等于 setCEnterpriseId(),所以赋值失败

解决

 方法一:在属性上加@JsonProperty注解

 

 方法二:手动在实体类添加get / set方法,不用lombook自动生成的

方法三:把postman传参的cEnterpriseId改成小写centerpriseId

标签:setcEnterpriseId,set,RequestBody,实体类,注解,null
From: https://www.cnblogs.com/wyhb008/p/17039287.html

相关文章