后台返回给前端json字段的大小写问题,Lombok的坑
Lombok的@Data注解踩坑,@Setter的大小寫問題
以前在處理前端請求的實體類的時候,都是用Lombok的@Data注解對實體類進行getter、setter以及toString的聲名,今天處理實體類的時候,發現生成的setter方法和Java Bean的命名規則不一致。(@Data的作用是為我們定義的字段添加Lombok的@ToString、@EqualsAndHashCode、 @Getter方法、@RequiredArgsConstructor 和 為非final字段添加@Setter)
我要生成getter、setter的字段是:
private List<Map<String,String>> yAxis; private List<XAxis> xAxis;在我使用@Data時生成的代碼和實際要生成的代碼比較如下:
//@Data生成的setter方法 setYAxis() setXAxis() //實際需要的setter方法 setyAxis() setxAxis()Java Bean的4種命名特殊規范中有一種情況:如果屬性名的第二個字母大寫,那么該屬性名直接用作 getter/setter 方法中 get/set 的后部分,就是說大小寫不變。例如屬性名為uName,方法是getuName/setuName。(轉載于:http://blog.csdn.net/zhangzeyuaaa/article/details/46649061)
字段的首字母大小寫發生了變化。這個變化意味著,我在使用@Data注解生成的getter方法得到的屬性值是"yaxis"和"xaxis",而實際上我需要的屬性值為"yAxis"和"xAxis",這也就導致了我返回給前端的數據,前端無法識別,從而出錯。
轉自
總結
以上是生活随笔為你收集整理的后台返回给前端json字段的大小写问题,Lombok的坑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 太多产品人死于汇报!
- 下一篇: 2017年html5行业报告,云适配发布