问题的解决方法来自以下博客
https://blog.csdn.net/u014086054/article/details/89046847
问题
项目使用 SpringBoot + SpringDataJPA,
使用了默认的 jackson-databind,
报错的接口返回的是一个实体类
出现的错误如下:
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: com.chen.demo.MyUser
H
i
b
e
r
n
a
t
e
P
r
o
x
y
HibernateProxy
HibernateProxyvwLfiYLN[“hibernateLazyInitializer”])
原因与解决
按照jamesboping所说,
jsonplugin用的是java的内审机制,被管理的pojo会加入一个hibernateLazyInitializer属性,jsonplugin会对hibernateLazyInitializer拿出来操作,并读取里面一个不能被反射操作的属性就产生了异常。
解决办法:在实体类上加上一个注解,@JsonIgnoreProperties(value = { “hibernateLazyInitializer”}),即可解决此错误