使用lombok,參數名稱第二個字母大寫導致參數接收不到

import lombok.Data;

@Data
public class TestDTO {
    private Integer pId;
}

如上代碼所示,在這個DTO中,傳遞如下參數,但是後端無法接收

{
  "pId":1
}

原因:使用lombok的@Data註解後,生成的get/set方法如下

// 參數名的首字母和第二個字母都變成了大寫

getPId();
setPId()

而在JavaBean規範中,有如下規範,所以這裏方法名應爲getpId和setpId

如果屬性名的第二個字母大寫,那麼該屬性名直接用作 getter/setter 方法中 get/set 的後部分,就是說大小寫不變。例如屬性名爲uName,方法是getuName/setuName。

解決辦法

  • 自己生成get/set方法
  • 使用JsonProperty註解
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章