阿帕奇骆驼和jackson

我正在尝试apache-camel,我已经设置了一个基本路由,通过http4组件调用http服务,通过unmarshal()。json(JsonLibrary.Jackson)转换结果,然后打印出部分响应在bean组件中。

我遇到的问题是,当它到达json unmarhsaller时它会在运行时爆炸:

没有类型转换器可用于从类型:java.util.HashMap转换为所需类型:com.xxx.MyType

响应采用以下格式:

{"data":[{"x":"y"},{"x":"z"}]} 

我的对象模型如下:

 @lombok.Data class Response { private List data; } @lombok.Data class Elem { private String x; } 

因此,看起来unmarshaller认为响应是哈希映射,而我希望它解组为对象结构。 有没有办法让它做我想要的?

找到答案,发布以防万一其他人遇到此问题。 路径构建器应设置为:

 from("direct:start").to("http4://...").unmarshal().json(JsonLibrary.Jackson,com.xxx.Response) .to("bean:com.xxx.MyResponseEchoer") 

即将类类型传递给j​​son方法。