我正在尝试 apache-camel,并且设置了一个基本路由,通过 http4 组件调用 http 服务,通过 unmarshal().json(JsonLibrary.Jackson) 转换结果,然后打印出部分响应在 bean 组件中。
我遇到的问题是,当它到达 json unmarshal 时,它会在运行时爆炸:
没有类型转换器可用于从类型:java.util.HashMap 转换为所需类型:com.xxx.MyType
响应的格式如下:
{"data":[{"x":"y"},{"x":"z"}]}
我的对象模型是这样的:
@lombok.Data
class Response {
private List<Elem> data;
}
@lombok.Data
class Elem {
private String x;
}
因此,解组器认为响应是哈希映射,而我希望将其解组为对象结构。有没有办法让它做我想做的事?
找到答案,发布以防其他人遇到这个问题。路线构建器应设置如下:
from("direct:start").to("http4://...").unmarshal().json(JsonLibrary.Jackson,com.xxx.Response)
.to("bean:com.xxx.MyResponseEchoer")
IE。将类类型传递给 json 方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)