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

问题描述

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

图片[1]-SpringBoot 属性名首字母小写第二个字母大写导致无法解析参数-明恒博客
使用lombok的@Data注解生成的getter和setter方法首字母b是大写的

解决问题

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

解决方法:

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

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

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

图片[2]-SpringBoot 属性名首字母小写第二个字母大写导致无法解析参数-明恒博客
© 版权声明
THE END
我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=270198dipw4ko
点赞14赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码

取消
昵称表情代码图片