问题描述:
POJO类使用Lombok的@Data注解来代替手动生成的Getter,Setter。然而Controller层的映射方法的参数的uId属性没能映射上来。
分析过程:
使用postman模拟请求,请求参数为json格式,其中一个uId的键值对始终没能映射到控制器方法的参数中,始终为null,该POJO的uId为Integer类型。后来修改该成员变量的名称为userId后,对应的postman的参数中key也为userId,发现控制器方法的参数的该字段封装上了。其二,把userId改回uId,去掉POJO上的@DATA注解,使用手动生成的Getter,Setter方法,发现postman中发送过来的uId值封装到控制器方法的参数上了。这么一来,可以推断是Lombok的@DATA注解惹的祸!!!