变量命名不规范&我被deepseek骗了

首先是一个实体类
@Data
public class Dto {private String mNumber;
}

 

前端传来{"mNumber:"123"}为null的情况

编译之后我们看看class文件:getMNumber

public class Dto {
    private String mNumber;

    public Dto() {
    }

    public String getMNumber() {
        return this.mNumber;
    }

    public void setMNumber(String mNumber) {
        this.mNumber = mNumber;
    }
}

由lombok生成的getset方法是首字母大写,其他不变的

 

前端传来{"mNumber:"123"}可以正确找到值的情况

而直接使用idea快速生成的getset如下:getmNumber

public class Dto {
    public String getmNumber() {
        return mNumber;
    }

    public void setmNumber(String mNumber) {
        this.mNumber = mNumber;
    }

    private String mNumber;
}

 

在springboot3.0.2项目中,Jackson能够通过getmMumber获取正确值,而getMNumber返回的结果总是null

 

这是deepseek给出来蒙我的答案:

 

 

 

 

关于解决办法:除了修改字段等手段外,在使用lombok时添加上注解。(突然理解为什么实习的时候公司里的所有字段都要加上这个注解了)

@JsonProperty("mNumber")
private String mNumber;
posted @ 2025-03-06 12:28  天启A  阅读(48)  评论(0)    收藏  举报