Lombok首字母小写,第二个字母大写造成的参数无法接收问题
目录
1.问题现象
2.问题实质
3.问题原因
4.解决方法
1.问题现象
如果VO实体用@Data注解生成get/set,对于首字母小写,第二个字母大写的成员变量,@RequestBody无法完成自动映射,取值为null
2.问题实质
Lombook的@Data注解和Spring的Jackson对于get/set的生成方式不同
3.问题原因
private String xIndex;
对于这种首字母小写,第二个字母大写的成员变量,Lombook生成的get/set方法如下:
但Jackson和Idea生成的get/set方法如下:
因为Lombook和jackson生成set方法的方式不同,造成SpringMVC在映射VO字段时无法找到setxIndex()方法(因为Lombook生成的是setXIndex),故自动映射失败
4.解决方法
利用Idea生成符合Spring规范的get/set(略low)
利用@JsonProperty(value = "xIndex"),强制Jackson在反序列化时给属性重新命名
借鉴博文:Lombok首字母小写,第二个字母大写的问题 - 简书
Naming convention for getters/setters in Java - Stack Overflow
https://github.com/projectlombok/lombok/issues/757
Lombok首字母小写,第二个字母大写造成的参数无法接收问题相关推荐
- Springboot 属性名首字母小写第二个字母大写导致无法解析参数
感觉这是lombok的bug. 属性名如图: 使用lombok的@Data注解生成的getter和setter方法首字母p是大写的,如图: 手动生成getter和setter方法首字母p是小写的,如图 ...
- struts2的bean类名首字母和第二个字母都不能大写
struts2的bean类名首字母和第二个字母都不能大写 否则在set .get时会爆空指针错误(NullPointerException) 原因: 如后台类中有属性String sAdress这个属 ...
- 使用lombok,参数名称第二个字母大写导致参数接收不到
import lombok.Data;@Data public class TestDTO {private Integer pId; } 如上代码所示,在这个DTO中,传递如下参数,但是后端无法接收 ...
- Springboot Controller实体属性大写、第二个字母大写无法获取数据
1.首字母大写 建议先看这篇文章 Springboot Controller参数映射之属性首字母小写第二字母大写无法映射问题分析_controller 参数首字母大写_万物皆字节的博客-CSDN博客 ...
- Lombok首字母小写,第二个字母大写的问题
一.问题描述 最近在和前端对接接口的时候,发现后端接口返回给前端的一个字段大小写有问题,具体如下. 使用的开发框架及版本: 框架:SpringMVC: Lombok版本:1.18.12: 对象简化后如 ...
- jackson转换json大写_jackson json序列化 首字母大写 第二个字母需小写
有这样一个类: @Setter @Getter @JsonNaming(value= PropertyNamingStrategy.UpperCamelCaseStrategy.class)publi ...
- fastjson转换json字符串key的首字母小写变大写的解决办法
问题描述 在开发过程中,由于接口文档的描述,要求json字符串的key首字母为大写,而java 的规范要求在定义bean的时候,成员属性是首字母小写的驼峰格式,java的基本规范一定要遵守,否则会出现 ...
- C语言编程>第二十二周 ④ 从键盘输入一组小写字母,保存在字符数组str中,请补充fun函数,该函数的功能是:把字符数组str中字符下标为偶数的小写字母转换成对应的大写字母,结果仍保存在原数组
例题:从键盘输入一组小写字母,保存在字符数组str中,请补充fun函数,该函数的功能是:把字符数组str中字符下标为偶数的小写字母转换成对应的大写字母,结果仍保存在原数组中. 例如,输入 " ...
- 将一句英文中的每个单词首字母大写,其余字母小写
//将一句英文中的每个单词首字母大写,其余字母小写 //'wHAt aRE yOu doING' -> 'What Are You Doing' var str='wHAt aRE yOu do ...
最新文章
- ecshop_v2.7.3下载地址
- tensorflow 之 最近用到的几个小操作tf.reshape,tf.convert_to_tensor,tf.where
- Github|类别不平衡学习资源(上)
- matlab调用sh函数,Shell 函数定义与调用
- 用字典存储学生成绩查询_中考用分数评价学生音体美成绩未尝不是好事
- [概率论与数理统计] 常用定义与公式
- 为什么开源应该是云原生环境的首选
- 【caffe】Check failed: status == CUDNN_STATUS_SUCCESS (4 vs. 0) CUDNN_STATUS_INTERNAL_ERRO
- 常见电子元器件检测方法。——Arvin
- CF802C Heidi and Library (hard) (网络流+最大流)
- 图数据库|如何从零到一构建一个企业股权图谱系统
- 哪种耳机危害最小?推荐这种骨传导耳机
- 计算机第二道密码怎么取消,电脑设置两道密码的具体方法
- 文本表示(一)—— word2vec(skip-gram CBOW) glove, transformer, BERT
- 沐风:小程序固然好!凭什么能自动赚钱?
- 系统集成项目管理工程师高频考点(第一章)
- 路由(gorilla/mux)
- R语言入门——R对象
- 计算机桌面出现一个色块,电脑显示器出现条纹色块的解决方法
- 怎么给视频加密、选用隐大师U盘
热门文章
- idea控制台输出日志过多,修改log4j日志级别去掉没用的
- 浅谈一下对cocos2d-x中九宫格精灵的简单理解和使用
- python 登录人人网
- 树莓派 使用 i2c 连接 LCD1602/LCD1602A 模块
- 计算圆的面积和周长-课后程序(JavaScript前端开发案例教程-黑马程序员编著-第4章-课后作业)
- 【.NET 基础】——CLR、BCL、DLL、Assembly
- picrust2基于ubuntu的安装
- 一场江湖恩怨从「聚合数据」说起——第五篇
- iview日期控件,已选选点日期,但是通不过validate验证
- xcode 设置字体颜色