我正在尝试将JSON
格式的InputStreamCache
响应转换为Apache Camel中的POJO,如下所示:
<convertBodyTo type="com.temp.MyPojo"/>
但是,我有以下异常:
No body available of type: model.so.response.MyResponse but has value:
org.apache.camel.converter.stream.InputStreamCache@3a689bf8 of type:
org.apache.camel.converter.stream.InputStreamCache on: Message: [Body is
instance of org.apache.camel.StreamCache]. Caused by: No type converter
available to convert from type:
org.apache.camel.converter.stream.InputStreamCache to the required type:
model.so.response.MyResponse with value
org.apache.camel.converter.stream.InputStreamCache@3a689bf8.
Exchange[Message: [Body is instance of org.apache.camel.StreamCache]].
Caused by: [org.apache.camel.NoTypeConversionAvailableException - No type
converter available to convert from type:
org.apache.camel.converter.stream.InputStreamCache to the required type:
model.so.response.MyResponse with value
org.apache.camel.converter.stream.InputStreamCache@3a689bf8]
有什么方法可以使用convertBodyTo组件直接将StreamCache
有效负载转换为POJO?我不想写一个显式的转换器。
unmarshal
组件。我想确认是否可以使用convertBodyTo
实现相同的功能。
答案 0 :(得分:2)
你需要添加camel-jackson作为依赖,因为如果你打开它,它有能力从JSon有效负载转换为POJO。
请参阅http://camel.apache.org/json 将Jackson与Camel的TypeConverters集成
部分