使用@RequestBody注解接收的实体类中的某些参数为null
原因
postman调试接口
为null的参数命名不符合“驼峰法”,类似实体类A的属性 cEnterpriseId ,这种命名是不规范的
和lombook的@Data注解有关
用postman传一个json到接口,json在传输过程中会被转为“字节流”,接口controller层的@RequestBody加在实体类参数前面,会把接收到的字节流反序列成为一个java实体类。@RequestBody在反序列化的时候给实体类赋值使用的get/set方法是idea自动生成的get/set方法,即:getcEnterpriseId()/setcEnterpriseId(),
所以@RequestBody是用setcEnterpriseId()给是实体类A赋值,但在A类中setcEnterpriseId()是不存在的,A类中通过lombook的@Data注解生成的只有setCEnterpriseId()方法
setcEnterpriseId() 不等于 setCEnterpriseId(),所以赋值失败
解决
方法一:在属性上加@JsonProperty注解

方法二:手动在实体类添加get / set方法,不用lombook自动生成的
方法三:把postman传参的cEnterpriseId改成小写centerpriseId
使用@RequestBody注解接收的实体类中的某些参数为null的更多相关文章
- Spring中使用@RequestBody注解接收的实体类中的某些参数为null
1.问题描述 我写完一个接口,在用postman测试的时候,发现其中有一个参数cEnterpriseId明明是有值的,但接口controller接收到的该参数为null,但其他参数都不为null的. ...
- Hibernate jpa 在实体类中对于时间的注解
在时间类型DATE 属性上添加一个 @Temporal(TemporalType.DATE)(精确到年月日)@Temporal(TemporalType.TIME)(精确到时分秒)@Temporal( ...
- 解决Entity 实体类中加了@Id 注解后仍然出现org.hibernate.AnnotationException: No identifier specified for entity 错误
启动报错如下图所示: 解决方案: 查看网上的资料,大部分都说在实体类中没有添加加主键的注解@Id,这个是必须的.但是我的实体类中明明已经添加了@Id,为什么还会报这个错误呢? 后来检查了很久,发现是我 ...
- spring中RequestBody注解接收参数时用JSONField转参数名无效问题
问题: 在springboot项目中使用@RequestBody注解接收post请求中body里的json参数的情况.即: @RequestMapping(value = "/get-use ...
- 读取Excel文件存储在实体类中
1.Maven文件 <!--读取Excel的架包--> <dependency> <groupId>org.apache.poi</groupId> & ...
- 当实体类中entity/DTO/VO等类中,有枚举值,应该怎么输出?
当实体类中entity/DTO/VO等类中,有枚举值,应该怎么输出? 问题: orderStatus 和 payStatus都是枚举类,并且枚举的个数达地10来个,我们不可能在模板页面(jsp/ftl ...
- C#:实体类中做数据验证
主要是在实体类中验证 using System; namespace Jone.Function.attribute{ /// <summary> /// 附加 ...
- 尚硅谷面试第一季-11MyBatis中当实体类中的属性名和表中的字段名不一样怎么办
问题: MyBatis中当实体类中的属性名和表中的字段名不一样 ,怎么办 ? 解决方案: 1.写sql语句时起别名 <!-- id属性:必须是接口中方法的方法名 resultType属性:必须是 ...
- MyBatis系列二 之 数据库列名于程序实体类中字段名称不一致
MyBatis系列二 之 数据库列名于程序实体类中字段名称不一致 情景:当数据库中的列名与我们程序实体类中的字段名称不一致 使用ResultMap节点配置信息 在映射文件中 ...
- Java定义bean实体类中的变量时变量名的问题
首先:TMD,这个问题花了我两个多小时,居然是因为一个字母的大小写导致的,我瞬间就&Y^%^&%&()*%¥%¥¥&^#@%&; 事情是酱紫的: 我定义了一个变 ...
随机推荐
- drf从入门到飞升仙界 08
断点调试使用 # 程序在debug模式运行,可以在任意位置停下,查看当前情况下变量数据的变化情况 # 使用pycharm调试程序 - 1.以debug模式运行. - 2.在代码左侧加入断点(红圈) - ...
- u8g2 资料汇集
移植U8g2 https://www.cnblogs.com/frozencandles/p/16358483.html 函数接口说明: https://github.com/olikraus/u8g ...
- 了解ASP(二)
变量 ASP中的变量有普通变量,Session变量,Application变量. 变量的生存期 在子程序外声明的变量可被 ASP 文件中的任何脚本访问和修改. 在子程序中声明的变量只有当子程序每次执行 ...
- windows下gitlab-ci.yml配置进入某一目录找不到,无权限
打开任务管理器查看gitlab-runner所使用的的用户 更改gitlab-runner服务权限, 找到gitlab-runner服务,右键-属性-登陆,选择[此账户]点击[浏览] 选择具有权限的账 ...
- Fuxploider-20210104
Usage: fuxploider.py [-h] [-d postData] [--proxy proxyUrl] [--proxy-creds [credentials]] [-f integer ...
- 3、k8s 核心实战
7 kubernets核心实战 7.1 资源创建方式 命令行 yaml 7.2 namespace 名称空间来隔离资源 命令行方式 kubectl create ns hello kubectl de ...
- ENGG1310 Electricity and electronics P1.1 microelectronics & optoelectronics
课程内容笔记,自用,不涉及任何 assignment,exam 答案 Notes for self use, not included any assignments or exams 听说这节课内容 ...
- ubuntu亲测安装opencv和成功解决Makefile:160: recipe for target 'all' failed make: *** [all] Error 2
1.因为项目需要,我安装的是opencv3.0.0,从github上面下载的opencv包 git clone https://github.com/Itseez/opencv.git git clo ...
- 【驱动】libjpeg 库的移植
1.下载库 http://www.ijg.org/ 下载 jpegsrc.v9e.tar.gz 2.准备好空文件夹位置 opt/libdecode opt/libdecode/lib opt ...
- day11 事件相关笔记
day11 事件上 事件的概述 事件是指代一个东西的操作被另外一个东西监听以后的一个过程(事件),这个过程可以完成对应的操作(处理函数)事件监听器是一个标准的观察者模式(observer)也被称为订阅 ...