166.2. Spring Boot Auto-Configuration
组件支持 16 个选项,如下所示。
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
camel.dataformat.jacksonxml.allow-jms-type | 用于 JMS 用户,允许 JMS spec 中的 JMSType 标头指定用于 unmarshal 的 FQN 类名称。 | false | 布尔值 |
camel.dataformat.jacksonxml.allow-unmarshall-type | 如果启用,则 Jackson 可以在 unmarshalling 中尝试使用 CamelJacksonUnmarshalType 标头。只有在需要使用时,才应启用它。 | false | 布尔值 |
camel.dataformat.jacksonxml.collection-type-name | 指的是要在注册表中查找的自定义集合类型。这个选项很少被使用,但允许使用与 java.util.Collection 不同的集合类型作为默认值。 | 字符串 | |
camel.dataformat.jacksonxml.content-type-header | 如果数据格式能够这样做,则数据格式是否应该以 data 格式设置 Content-Type 标头。例如,用于数据格式的 application/xml (数据格式)或 application/json 用于数据格式 marshalling to JSon etc。 | false | 布尔值 |
camel.dataformat.jacksonxml.disable-features | 在 Jackson com.fasterxml.jackson.databind.ObjectMapper 上禁用功能集。这个功能应当是与 com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature 或 com.fasterxml.jackson.jackson.jackson.databind.MapperFeature.jackson.databind. | 字符串 | |
camel.dataformat.jacksonxml.enable-features | 在 Jackson com.fasterxml.jackson.databind.ObjectMapper 上启用的功能集。这个功能应当是与 com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature 或 com.fasterxml.jackson.jackson.jackson.databind.MapperFeature.jackson.databind. | 字符串 | |
camel.dataformat.jacksonxml.enable-jaxb-annotation-module | 使用 jackson 时是否启用 JAXB 注解模块。启用之后,Jackson 可以使用 JAXB 注释。 | false | 布尔值 |
camel.dataformat.jacksonxml.enabled | 启用 jacksonxml 数据格式 | true | 布尔值 |
camel.dataformat.jacksonxml.include | 如果您想将 pojo to JSON 放入 JSON,则 pojo 含有一些带有 null 值的字段。而且您要跳过这些 null 值,您可以将这个选项设置为 NON_NULL | 字符串 | |
camel.dataformat.jacksonxml.json-view | 当 marshalling a POJO to JSON 时,您可能想要从 JSON 输出中排除某些字段。通过 Jackson,您可以使用 JSON 视图来达到此目的。此选项引用包含 JsonView 注解的类 | 类 | |
camel.dataformat.jacksonxml.module-class-names | 要使用自定义 Jackson 模块 com.fasterxml.jackson.databind.Module 指定为带有 FQN 类名称的 String。可以使用逗号分隔多个类。 | 字符串 | |
camel.dataformat.jacksonxml.module-refs | 使用由 Camel registry 引用的自定义 Jackson 模块。可以使用逗号分隔多个模块。 | 字符串 | |
camel.dataformat.jacksonxml.pretty-print | 启用大量打印输出。默认为 false。 | false | 布尔值 |
camel.dataformat.jacksonxml.unmarshal-type-name | 取消armshalling 时要使用的 java 类型的类名称 | 字符串 | |
camel.dataformat.jacksonxml.use-list | 要取消与映射列表或 Pojo 列表相关的内容。 | false | 布尔值 |
camel.dataformat.jacksonxml.xml-mapper | 查找并使用给定 ID 的现有 XmlMapper。 | 字符串 |
ND
166.2.1. 在 Spring DSL 中使用 Jackson XML
在 Spring DSL 中使用数据格式时,您需要首先声明数据格式。这是在 DataFormats XML 标签中进行的。
<dataFormats> <!-- here we define a Xml data format with the id jack and that it should use the TestPojo as the class type when doing unmarshal. The unmarshalTypeName is optional, if not provided Camel will use a Map as the type --> <jacksonxml id="jack" unmarshalTypeName="org.apache.camel.component.jacksonxml.TestPojo"/> </dataFormats>
然后您可以在路由中引用这个 id:
<route> <from uri="direct:back"/> <unmarshal ref="jack"/> <to uri="mock:reverse"/> </route>