使用@RequestBody注解接收的实体类中的某些参数为null
2024-10-20 05:20:16
原因
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
最新文章
- jQuery拖动剪裁图片作为头像
- UILabel 根据文本内容设置frame
- ";Resuming debugger: error during debugging loop: TypeError: firstViewRangeElement is null";
- Spring重点—— IOC 容器中 Bean 的生命周期
- label
- poj3071
- Square spiral
- java集合框架工具类Collections,集合的操作
- Linux下网络流量实时监控工具大全
- MySQL权限详解
- 使用ajax上传图片,支持图片即时浏览,支持js图片压缩后上传给服务器
- Spring Boot 集成 Spring Security 实现权限认证模块
- Java开发笔记(七十九)利用反射技术操作私有属性
- Mysql 数据库复制
- 【原创】驱动卸载之ControlService函数
- bootstrap中的明星属性
- leetcode17
- Windows 远程栈溢出挖掘与利用
- 在Delphi中调用";数据链接属性";对话框设置ConnectionString
- 让browserify接收命令行参数,在打包时parse yml配置文件