向Spring Boot ObjectMapper添加自定义筛选器提供程序

时间:2018-04-16 15:42:56

标签: spring spring-boot jackson

我们需要根据安全性和其他标准在Spring Boot应用程序中过滤序列化中的某些POJO字段。我们通过编写自定义过滤器并将其添加到FilterProvider并最终将其添加到ObjectMapper来实现此目的。

我们依赖的库已经采用了默认的ObjectMapper(primary)(不希望改变它)。还有一些其他类型为ObjectMapper的Spring bean干扰了我们添加此过滤器的努力。所以我们通过实现自定义BeanPostProcessor来检查所有类型为ObjectMapper的bean并向其添加我们的过滤器。它起作用 - 不是最理想的解决方案,但让我们得到了我们想要的东西。

现在从1.5.7升级到1.5.12后,这已停止工作。我仍然可以调试并验证是否正在调用BeanPostProcessor并添加了过滤器,但在运行时,序列化会引发错误,指出找不到指定的JsonFilter id的过滤器。

任何有关改变的建议可能会阻止这种黑客工作或如何做到这一点?

此致 ARNAB。

0 个答案:

没有答案