SpringBoot 属性名首字母小写第二个字母大写导致无法解析参数

2022-11-01 14:47:21 浏览数 (2)

问题描述

问题如标题,我看到网上说猜测这是lombok的BUG

使用lombok的@Data注解生成的getter和setter方法首字母b是大写的

解决问题

JavaBean规范中有一个特别的地方,如果属性名的第二个字母是大写的,那么该属性名直接用作 getter/setter 方法中 get/set 的后部分,也就是说首字母大小写不变,即手动生成getter和setter方法首字母p是小写的。由于lombok生成的getter和setter方法首字母是大写的,导致前端传值赋不上值。

解决方法:

1、不去使用首字母大写或第二个字母大写的参数。

2、手动生成getter和setter方法。

3、使用@JsonProperty注解,如图:

0 人点赞