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