Kev*_*vin 7 java json apache-camel jackson
我正在尝试apache-camel,我已经设置了一个基本路由,通过http4组件调用http服务,通过unmarshal().json(JsonLibrary.Jackson)转换结果,然后打印出部分响应在bean组件中.
我遇到的问题是,当它到达json unmarhsaller时它会在运行时爆炸:
没有类型转换器可用于从类型:java.util.HashMap转换为所需类型:com.xxx.MyType
响应采用以下格式:
{"data":[{"x":"y"},{"x":"z"}]}
Run Code Online (Sandbox Code Playgroud)
我的对象模型如下:
@lombok.Data
class Response {
private List<Elem> data;
}
@lombok.Data
class Elem {
private String x;
}
Run Code Online (Sandbox Code Playgroud)
所以看起来unmarshaller认为响应是一个哈希映射,而我希望它解组成一个对象结构.有没有办法让它做我想要的?
Kev*_*vin 12
找到答案,发布以防万一其他人遇到此问题.路径构建器应设置为:
from("direct:start").to("http4://...").unmarshal().json(JsonLibrary.Jackson,com.xxx.Response)
.to("bean:com.xxx.MyResponseEchoer")
Run Code Online (Sandbox Code Playgroud)
即将类类型传递给json方法.
| 归档时间: |
|
| 查看次数: |
8166 次 |
| 最近记录: |