当json对象来自Apache-Camel上下文时,我想格式化我的gson。在我的application_context.xml中,相关字段是这样的:
<camel:camelContext>
<camel:dataFormats>
<camel:json id="gson" library="Gson" unmarshalTypeName="com.pzt.blz.fraud.domain.Payment" />
</camel:dataFormats>
<camel:route>
<camel:from uri="rabbitmq::blz.service.component.fraud?autodelete=false&durable=true"/>
<camel:unmarshal ref="gson"></camel:unmarshal>
<camel:process ref="fraudProccessor"></camel:process>
<camel:marshal ref="gson"></camel:marshal>
<camel:inOnly uri="rabbitmq::blz.service.component.fraud-reply?autodelete=false&durable=true"/>
</camel:route>
</camel:camelContext>
Camel:unmarshal和Camel:marshal部分正在做json对象,反之亦然。但是我想在这个文件中添加一些属性,如:
public Gson createGson(){
return new GsonBuilder().
setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).
setPrettyPrinting().
serializeNulls().
create();
}
如何将setFieldNamingPolicy设置为LOWER_CASE_WITH_UNDERSCORES或LOWER_CASE_WITH_DASHES等...
有没有机会在Camel上格式化?这些更改应该在我的application_context.xml文件中完成。
感谢所有回复......
答案 0 :(得分:0)
我认为我们没有在XML DSL中公开这些选项,因此您可以在gson数据格式上配置它。我已经在未来的Camel版本中记录了一个实现此功能的票证:https://issues.apache.org/jira/browse/CAMEL-6227