报错场景:修改了实体类Device的属性类型,由String改成了Integer
控制台报错:使用Fastjson提示No serializer found for class。
具体内容如下:
No serializer found for class com.raw.material.entity.Device and no properties discovered to create BeanSerializer(to avoid exception,disable SerializationConfig.Feature.FaIL_ONEMPTY_BEANS)
网上百度了是说检查实体类对象中是否有get/set方法或者构造方法,建议使用@Data注解。
我是一直都用的lombok,在实体类上一直有@Data注解,并且在我修改了实体类Device的属性类型之前,一直都是好好的。
后来检查了target文件夹下编译的Device.class发现编译过的Device.class文件确实没有get/set方法,而其他没改的是正常的。
于是在Device实体类里手动加了属性的get/set方法,问题解决!!!
以上是在公司电脑上测试的。但是在我自己的电脑改了实体类的属性类型也是没问题的,编译文件里也是正常修改了,@Data是有效的!这种情况我也不太清楚是怎么回事?大大的疑惑(・∀・(・∀・(・∀・*)