网站建设用户登录企业查询天眼查
目录
1.问题背景
2.解决方法
但是会存在返回的既有大写也有小写的问题,需要在get方法也添加对应的注解
3.相关资料
1.问题背景
因数据库某字段存储的为json 格式,且数据库字段要求都有客户指定,因为该功能需要和其他项目进行对接。然后出现在实体出现一个username 和 userName的 两个属性。当时没多想使用lombok.Data 注解。都有使用他们get方法 。程序都启动不了,错误也含糊,说某行缺少符号,但是预编译是没有任何飘红的地方,大胆拆侧是使用get 的时候出现这个问题,我就自己定义了方法来获取 userName 属性。程序能正常运行起来,都以为满天欢喜的时候,请求的时候出现空指针,断点调试发现不管前端传username 或者 userName ,实体都是用username 来接收,我使用userName当然空指针。因为当时在内网开发,没有办法上网,也不太确定为什么产生的原因,就直接使用三目运算符号判空解决,当时猜想get不行set 可能也不行,但是get可以自己定义获取,但是set 是spring 自己帮我们封箱,所以采用这个暂时解决。
2.解决方法
解决方法也很简单,原因是fastjson 解析规则
只需要在属性或者set 方法添加这个即可
@JsonProperty("userName")private String userName;
但是会存在返回的既有大写也有小写的问题,需要在get方法也添加对应的注解
@JsonProperty("username")public String getUsername() {return username;}@JsonProperty("userName")public String getUserName() {return userName;}
3.相关资料
spring实体类字段后端前端大小写不一致解决_前后端字段首字母小写后接一个大写怎么处理_.南风.的博客-CSDN博客
SpringBoot无法使用实体类接收参数和返回实体首字母大写变小写_南念-shmily的博客-CSDN博客