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