目录

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首字母小写,第二个字母大写造成的参数无法接收问题相关推荐

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

    感觉这是lombok的bug. 属性名如图: 使用lombok的@Data注解生成的getter和setter方法首字母p是大写的,如图: 手动生成getter和setter方法首字母p是小写的,如图 ...

  2. struts2的bean类名首字母和第二个字母都不能大写

    struts2的bean类名首字母和第二个字母都不能大写 否则在set .get时会爆空指针错误(NullPointerException) 原因: 如后台类中有属性String sAdress这个属 ...

  3. 使用lombok,参数名称第二个字母大写导致参数接收不到

    import lombok.Data;@Data public class TestDTO {private Integer pId; } 如上代码所示,在这个DTO中,传递如下参数,但是后端无法接收 ...

  4. Springboot Controller实体属性大写、第二个字母大写无法获取数据

    1.首字母大写 建议先看这篇文章 Springboot Controller参数映射之属性首字母小写第二字母大写无法映射问题分析_controller 参数首字母大写_万物皆字节的博客-CSDN博客 ...

  5. Lombok首字母小写,第二个字母大写的问题

    一.问题描述 最近在和前端对接接口的时候,发现后端接口返回给前端的一个字段大小写有问题,具体如下. 使用的开发框架及版本: 框架:SpringMVC: Lombok版本:1.18.12: 对象简化后如 ...

  6. jackson转换json大写_jackson json序列化 首字母大写 第二个字母需小写

    有这样一个类: @Setter @Getter @JsonNaming(value= PropertyNamingStrategy.UpperCamelCaseStrategy.class)publi ...

  7. fastjson转换json字符串key的首字母小写变大写的解决办法

    问题描述 在开发过程中,由于接口文档的描述,要求json字符串的key首字母为大写,而java 的规范要求在定义bean的时候,成员属性是首字母小写的驼峰格式,java的基本规范一定要遵守,否则会出现 ...

  8. C语言编程>第二十二周 ④ 从键盘输入一组小写字母,保存在字符数组str中,请补充fun函数,该函数的功能是:把字符数组str中字符下标为偶数的小写字母转换成对应的大写字母,结果仍保存在原数组

    例题:从键盘输入一组小写字母,保存在字符数组str中,请补充fun函数,该函数的功能是:把字符数组str中字符下标为偶数的小写字母转换成对应的大写字母,结果仍保存在原数组中. 例如,输入 " ...

  9. 将一句英文中的每个单词首字母大写,其余字母小写

    //将一句英文中的每个单词首字母大写,其余字母小写 //'wHAt aRE yOu doING' -> 'What Are You Doing' var str='wHAt aRE yOu do ...

最新文章

  1. ecshop_v2.7.3下载地址
  2. tensorflow 之 最近用到的几个小操作tf.reshape,tf.convert_to_tensor,tf.where
  3. Github|类别不平衡学习资源(上)
  4. matlab调用sh函数,Shell 函数定义与调用
  5. 用字典存储学生成绩查询_中考用分数评价学生音体美成绩未尝不是好事
  6. [概率论与数理统计] 常用定义与公式
  7. 为什么开源应该是云原生环境的首选
  8. 【caffe】Check failed: status == CUDNN_STATUS_SUCCESS (4 vs. 0) CUDNN_STATUS_INTERNAL_ERRO
  9. 常见电子元器件检测方法。——Arvin
  10. CF802C Heidi and Library (hard) (网络流+最大流)
  11. 图数据库|如何从零到一构建一个企业股权图谱系统
  12. 哪种耳机危害最小?推荐这种骨传导耳机
  13. 计算机第二道密码怎么取消,电脑设置两道密码的具体方法
  14. 文本表示(一)—— word2vec(skip-gram CBOW) glove, transformer, BERT
  15. 沐风:小程序固然好!凭什么能自动赚钱?
  16. 系统集成项目管理工程师高频考点(第一章)
  17. 路由(gorilla/mux)
  18. R语言入门——R对象
  19. 计算机桌面出现一个色块,电脑显示器出现条纹色块的解决方法
  20. 怎么给视频加密、选用隐大师U盘

热门文章

  1. idea控制台输出日志过多,修改log4j日志级别去掉没用的
  2. 浅谈一下对cocos2d-x中九宫格精灵的简单理解和使用
  3. python 登录人人网
  4. 树莓派 使用 i2c 连接 LCD1602/LCD1602A 模块
  5. 计算圆的面积和周长-课后程序(JavaScript前端开发案例教程-黑马程序员编著-第4章-课后作业)
  6. 【.NET 基础】——CLR、BCL、DLL、Assembly
  7. picrust2基于ubuntu的安装
  8. 一场江湖恩怨从「聚合数据」说起——第五篇
  9. iview日期控件,已选选点日期,但是通不过validate验证
  10. xcode 设置字体颜色