@Data注解踩坑之大小写

@参考文章

日前用swagger测试的时候发现,返回的对象属性名与实际不一致,比如返回的属性名有fDate,前端接到的是fdate,理所当然的获取不到java返回的fDate的值

同事怀疑是小写f引起的,一度要把他们自己的所有代码f开头的都改掉。我将信将疑,没有立即改。今天有空debug了一下,看到java返回的对象属性确实是大写的,猜想可能是注解引起的。排除swagger注解后,锁定在了@Data注解上,于是去掉了lombok.Data注解,手工生成getter、setter,一切正常了。然后百度了下这个注解,果然有特殊情况,当属性名子二个字母大写的时候,需要指定@JsonProperty及其value。或者,你可以手动getfDate和setfDate

    @JsonProperty(value="fDate")//此处参考文章应该系笔误,value=不能省略,
    private Object fDate;

    private Object fDate;
    public Object getfDate() {
        return fDate;
    }
    public void setfDate(Object fDate) {
        this.fDate = fDate;
    }

 

原文地址:https://www.cnblogs.com/yanan7890/p/13878515.html