阿帕奇骆驼和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")
即将类类型传递给json方法。