2021-12-10 Json序列化出现 disable SerializationFeature.FAIL_ON_EMPTY_BEANS 问题

Json序列化出现 disable SerializationFeature.FAIL_ON_EMPTY_BEANS 问题

  • disable SerializationFeature.FAIL_ON_EMPTY_BEANS 问题
  • 总结
  • 第三种方法

disable SerializationFeature.FAIL_ON_EMPTY_BEANS 问题

查询了一些文章有两种解决方案:

  1. 在每个需要使用 Jackson 序列化的对象上添加 @JsonIgnoreProperties(value = { “hibernateLazyInitializer”, “handler” }) 注解
    2021-12-10 Json序列化出现 disable SerializationFeature.FAIL_ON_EMPTY_BEANS 问题_第1张图片

  2. 在全局的 ObjectMapper 设置关闭 SerializationFeature.FAIL_ON_EMPTY_BEANS
    在这里插入图片描述

总结

  • 第一种:使用注解的方式要再每一个返回给前端需要使用 jackson 序列化对象上添加注解,比较繁琐
  • 第二种:设置 spring 容器中的对象关闭 SerializationFeature.FAIL_ON_EMPTY_BEANS,方便,但手动 new ObjectMapper 时需要重新设置
  • 两种方式各有好处,可以自行选择

第三种方法

后来又在 AxiosResult 对象添加了 get 方法,发现也能解决这个问题,可以不用使用前两种方式,查看下 SpringMVC 返回给前端的对象是否提供 get 方法

应该是 jackson 序列化如果没有提供 get 方法就会报 SerializationFeature.FAIL_ON_EMPTY_BEANS 这个问题(不能通过 get 方法获取成员变量)

你可能感兴趣的:(#,Spring全家桶,json,java,spring)