No serializer found for class 类名 and no properties discovered to create BeanSerializer

2020-07-27 10:43:57 浏览数 (1)

使用@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集合也会为空值

0 人点赞