使用@RestController注解前台页面返回不到对象数据异常
异常信息
首页控制台会打印如下异常 com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class ah.szxy.pojo.Product and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: java.util.ArrayList[0])
分析
经查看 ,实体类实现了序列化 ,而且导入jackson的jar包 ,controller加入了相关的注解
并且在SpringCloud的全局配置文件application.yml中加入了如下代码
代码语言:javascript复制spring:
jackson:
serialization:
FAIL_ON_EMPTY_BEANS: false
虽然不报错了 ,但是页面上只出现空的json串 ,没有值!!!
解决
在朋友的帮助下 ,发现自己的实体类的get(), set()方法上没有加 Public修饰!!!,因为是通过快捷键生成的所以没注意到!!!当局者迷,旁观者清~~~
因为实体类不使用public 修饰, 会被默认修饰符修饰 ,只能被子类取得 ,所以在controller使用时 ,将其存入list集合也会为空值