RequestBody部分属性为null的问题
RequestBody部分属性为null的问题
Spring Boot项目中使用@RequestBody接收请求数据,前端通过json格式传递数据,发现获取不到所发送的部分数据
1 |
|
1 |
|
1 | { |
1 | { |
很惊奇的发现,传入的参数cId并没有被解析到实体类中,返回结果中为null
如果参数第一个字母为小写,第二个字母为大写,就不能正常的从JSON中解析出来,如:cId,mName,aBcd等参数都不能被正常的解析,而myName,abCd等最前面不止一个字母小写的情况是可以用的
@RequestBody接收的实体类中的属性名如果是第一个字母小写第二个字母大写的情况,不能正常的从JSON转换成实例类属性
解决方案
- 方案一:改名字,第二个大写的改成小写就行了(实际开发中改名字使名字不符合驼峰命名法不恰当)
- 方案二:加上@JsonProperty注解,指定某个方法JSON转换时的名字,上述实体类将修改为
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class ClassVo {
private String cId;
private String name;
private String memo;
public String getcId() {
return cId;
}
public void setcId(String cId) {
this.cId = cId;
}
}因为使用的lambok的@Data注解没有显式的setter和getter,所以自己写一个setter和getter,然后在上面注明解析时的名字就可以了
参考链接
@RequestBody部分属性为null的问题_@requestbody 参数为null_clonechen2021的博客-CSDN博客
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 EraiBlog!


