@Data註解踩坑之大小寫
阿新 • • 發佈:2020-10-26
日前用swagger測試的時候發現,返回的物件屬性名與實際不一致,比如返回的屬性名有fDate,前端接到的是fdate,理所當然的獲取不到java返回的fDate的值
同事懷疑是小寫f引起的,一度要把他們自己的所有程式碼f開頭的都改掉。我將信將疑,沒有立即改。今天有空debug了一下,看到java返回的物件屬性確實是大寫的,猜想可能是註解引起的。排除swagger註解後,鎖定在了@Data註解上,於是去掉了lombok.Data註解,手工生成getter、setter,一切正常了。然後百度了下這個註解,果然有特殊情況,當屬性名子二個字母大寫的時候,需要指定@JsonProperty及其value。或者,你可以手動getfDate和setfDate
@JsonProperty("fDate") private Object fDate;
或
private Object fDate; public Object getfDate() { return fDate; } public void setfDate(Object fDate) { this.fDate = fDate; }