RequestBody 实体类接收不到参数原因

2022年12月16日 466点热度 0人点赞 0条评论

1 RequestBody 实体类接收不到参数原因总结

错误原因是导入的swagger包的@RequestBody注解

以下为转载:

比较基础的错误就是实体类没有get set方法或没有实现序列化接口,或者Controller漏掉了@RestController注解。
这个也是很容易排查出来的,我们直接去看编译出来的class文件 看看有没有编译成功 。

字段名是否首字母为小写 第二个字母为大写

解决方法 :在实体类上加上注解

@JsonProperty(value = “属性名”)

第一个字母为小写 第二个为大写时,RequestBody会为null,这是jackson的bug,
用@JsonProperty指定json key名

例:

// import com.fasterxml.jackson.annotation.JsonProperty;
@JsonProperty(value = "eDepotId")
private String eDepotId;

 

@RequestBody导错包了,导入的swagger包的@RequestBody注解。
(网上几乎没人提过这点, 调了大半个小时才发现。。。)

@JsonIgnore子类同属性名被忽略的问题
例如 Animal实体类的String name字段 用了@JsonIgnore注解 ,
Dog类继承Animal 且 Dog类不希望被忽略name字段,
那需要在Dog类中再写一个String name 字段,并且在字段上面用 @JsonIgnore(value = false) ,

这样Animal的name还是保持被忽略 ,Dog的name不会被忽略

————————————————
版权声明:本文为CSDN博主「孟秋与你」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_36268103/article/details/111577816

 

 

管理员

这个人很懒,什么都没留下

文章评论