76.2. protobuf Jackson 选项


Protobuf Jackson 数据格式支持 18 个选项,如下所列。

Name默认值Java 类型描述

contentTypeHeader

 

布尔值

数据格式是否应使用数据格式的类型设置 Content-Type 标头。例如,用于数据格式的 application/xml 例如,marshalling 到 XML,对于数据格式为 JSON,application/json 用于数据格式。

ObjectMapper

 

字符串

在使用 Jackson 时,查找并使用给定 ID 的现有 ObjectMapper。

useDefaultObjectMapper

 

布尔值

是否查找并使用 registry 中的默认 Jackson ObjectMapper。

unmarshalType

 

字符串

取消总结时要使用的 java 类型的类名称。

jsonView

 

字符串

将 POJO 写入 JSON 时,您可能希望从 JSON 输出中排除某些字段。通过 Jackson,您可以使用 JSON 视图来实现这一目的。这个选项是引用具有 JsonView 注解的类。

Include

 

字符串

如果要将 pojo 重命名为 JSON,并且 pojo 具有一些带有 null 值的字段。如果您想要跳过这些 null 值,您可以将这个选项设置为 NON_NULL。

allowJmsType

 

布尔值

用于 JMS 用户,允许 JMS spec 中的 JMSType 标头指定用于 unmarshal 的 FQN 类名称。

collectionType

 

字符串

指的是要在 registry 中查找的自定义集合类型。应很少使用这个选项,但允许使用与 java.util.Collection 不同的集合类型作为默认值。

useList

 

布尔值

要取消选择映射列表或 Pojo 列表。

moduleClassNames

 

字符串

使用自定义 Jackson 模块 com.fasterxml.jackson.databind.Module 指定为带有 FQN 类名称的 String。可以使用逗号分隔多个类。

moduleRefs

 

字符串

使用 Camel registry 中引用的自定义 Jackson 模块。可以使用逗号分隔多个模块。

enableFeatures

 

字符串

在 Jackson com.fasterxml.jackson.databind.ObjectMapper 上启用的功能集合。功能应该是与 com.fasterxml.jackson.databind.SerializationFeature、com.fasterxml.jackson.databind.DeserializationFeature 或 com.fasterxml.jackson.databind.MapperFeature 多功能中的 enum 匹配的名称。

disableFeatures

 

字符串

在 Jackson com.fasterxml.jackson.databind.ObjectMapper 上禁用的功能集合。功能应该是与 com.fasterxml.jackson.databind.SerializationFeature、com.fasterxml.jackson.databind.DeserializationFeature 或 com.fasterxml.jackson.databind.MapperFeature 多功能中的 enum 匹配的名称。

allowUnmarshallType

 

布尔值

如果启用,则允许 Jackson 在 unmarshalling 期间尝试使用 CamelJacksonUnmarshalType 标头。这只在需要使用时才启用。

timezone

 

字符串

如果设置,Jackson 会在 marshalling/unmarshalling 时使用 Timezone。

autoDiscoverObjectMapper

 

布尔值

如果设置为 true,Jackson 会将对象映射器查找到 registry 中。

schemaResolver

 

字符串

可选的 schema 解析器,用于查找传输中数据的模式。

autoDiscoverSchemaResolver

 

布尔值

如果没有禁用,SchemaResolver 将查找 registry。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.