spring 请求 出现实体类大小写不一致 出现的问题

目录

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博客

你可能感兴趣的:(spring,boot,spring,后端,java)