使用@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^%^&%&()*%¥%¥¥&^#@%&; 事情是酱紫的: 我定义了一个变 ...
随机推荐
- ABAP PDF 打印
SPAN { font-family: "Courier New"; font-size: 10pt; color: rgba(0, 0, 0, 1); background: r ...
- TP框架在nginx中的配置
TP框架配置中默认URL_MODEL=1,而Nginx默认是不支持PATHINFO的.如果我们只想跑起来tp框架,很简单,只需到更改TP配置,设置URL_MODEL=3(兼容模式).但是如果要让Ngi ...
- CF1744F MEX vs MED
个人思路: 条件可以转化成长度为 \(x\) 的区间需要包含 \([0,\lfloor \frac{(x-1)}{2} \rfloor]\). 我们从小到大枚举每一个数 \(i\),计算长度为 \(i ...
- 设备树编译链接报错arch/arm/boot/dts/imx50.dtsi:16:42: fatal error: dt-bindings/
1.vim scripts/Makefile.lib, add 3 lines into dtc_cpp_flags dtc_cpp_flags = -Wp,-MD,$(depfile).pre.t ...
- 使用Java API操作Neo4j
使用IntelliJ IDEA (Jet Brains) 创建java工程 把下载好的neo4j包中的lib文件下的所有jar文件复制到工程Neo4j_Project的lib文件夹下(若无lib文件夹 ...
- Notepad++来比较文件
使用Notepad++来比较文件_sanqima的专栏-CSDN博客_notepad比较文件https://blog.csdn.net/sanqima/article/details/50467154
- Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 49; columnNumber: 17; 元素类型为 "configuration" 的内容必须匹配 "
问题现象: Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: o ...
- Software_programming_Config_HOCON
05:09:37 HOCON github https://github.com/lightbend/config/blob/master/HOCON.md 相较于 XML, JSON, YAML 更 ...
- 【个人笔记】CentOS 安装 Docker CE
要在 CentOS 上开始使用 Docker CE,请确保 满足先决条件,然后 安装Docker. 1. 卸载旧版本 sudo yum remove docker docker-client dock ...
- CAM更改起始直径为直径
Session* theSession = Session::GetSession(); Part* workPart(theSession->Parts()->Work()); UI* ...