167.9. 使用 Jackson 启用或禁用功能

Jackson 有多个可以启用或禁用的功能,其 ObjectMapper 使用这些功能。例如,要在 marshalling 时禁用未知属性失败,您可以使用 disableFeatures 配置它:

 <dataFormats>
      <jacksonxml id="jacksonxml" unmarshalTypeName="com.foo.MyPojo" disableFeatures="FAIL_ON_UNKNOWN_PROPERTIES"/>
 </dataFormats>

您可以使用逗号分隔值来禁用多个功能。功能的值必须是来自以下枚举类的 Jackson 的枚举的名称

  • com.fasterxml.jackson.databind.SerializationFeature
  • com.fasterxml.jackson.databind.DeserializationFeature
  • com.fasterxml.jackson.databind.MapperFeature

要启用功能使用 enableFeatures 选项。

从 Java 代码,您可以使用来自 camel-jackson 模块的类型安全方法:

JacksonDataFormat df = new JacksonDataFormat(MyPojo.class);
df.disableFeature(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
df.disableFeature(DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVES);