1

我使用 Jackson 作为 Apache CXF 的 JSON 提供程序。我想使用 Jackson mix-ins 来塑造 REST 控制器返回的 JSON 结构。混合将应用于域对象(未注释)以在序列化期间忽略某些属性。

所有 mix-ins 示例都处理它们的编程应用程序,您可以在其中创建一个 ObjectMapper 对象并在运行时对其应用 mix-ins。在我的 REST 层中,我没有以编程方式使用 Jackson。它被注册为 CXF 的 JSON 提供程序(通过蓝图 XML - 这是 OSGI 环境)。

我的问题是如何将混音应用到杰克逊,而不必显式创建 ObjectMapper 并在其上调用 writeValue()。此外,如何动态应用混合以允许 REST 控制器根据请求参数返回同一域对象的不同表示?

谢谢,

迈克尔

4

1 回答 1

0

检查JacksonJsonProvider上的 Javadoc :

可以通过多种方式配置要使用的 ObjectMapper:

  • 通过显式传递映射器以在构造函数中使用
  • 通过显式设置映射器以供 setMapper(com.fasterxml.jackson.databind.ObjectMapper) 使用
  • 通过定义返回 ObjectMappers 的 JAX-RS Provider。
  • 通过不执行上述任何操作,在这种情况下会构造一个默认映射器实例(如果调用配置方法则配置)
于 2013-02-03T20:25:06.577 回答