我的代码使用没有定义过滤器的默认ObjectMapper,但是目标类带有@JsonFilter批注。我的期望是杰克逊会忽略注解并做正常的事情。
在另一种情况下,如果我要使用过滤器并且我也定义了过滤器,为什么必须在类中添加@JsonFilter,否则杰克逊将无法使用任何过滤器。
@JsonFilter看起来很多余。我们已经定义了过滤器。真正的问题是开始时描述的问题。我们不能使用批注来修改类,而只是使用正常行为序列化该类。
有一种方法可以创建一个虚拟过滤器并设置setFailOnUnknownId(false)。但这看起来并不那么普遍。