【发布时间】:2017-07-26 21:44:39
【问题描述】:
概述。
我的骆驼设置调用了两种服务方法。第一个响应传递给第二个响应,然后将最终响应输出为 json 网页。相当简单,没什么太复杂的。
进一步细分以提供更多背景信息。 方法_1。接受scanId。这工作正常。它生成一个名为 ScheduledScan .class 的对象 方法_2。接受 ScheduledScan .class 的对象先前实例并返回 ConvertedScans 扫描的列表。然后想显示说列表
代码说明
@Override
public void configure() throws Exception {
restConfiguration().bindingMode(RestBindingMode.json);
rest("/publish")
.get("/scheduled-scan/{scanId}")
.to("bean:SentinelImportService?method=getScheduledScan").outType(ScheduledScan .class)
.to("bean:SentinelImportService?method=convertScheduledScan");
}
被调用的方法如下所示
ScheduledScan getScheduledScan(@Header("scanId") long scanId);
List<ConvertedScans > convertScheduledScan(@Body ScheduledScan scheduledScans);
返回以下错误
没有可用的主体类型:路径。 .ScheduledScan 但具有价值:
类型:java.lang.String on:HttpMessage@0x63c2fd04。原因:没有可用的类型转换器
以下运行没有错误,即没有方法 2。所以我认为我几乎就在那里。
rest("/publish")
.get("/scheduled-scan/{scanId}")
.to("bean:SentinelImportService?method=getScheduledScan");
现在从阅读错误来看,我好像传入的是 HttpMessage 而不是 java 对象?我有点困惑下一步该怎么做?非常感谢任何建议。
我发现了一些与此消息类似的问题。但是我希望将 java 对象直接传递到服务方法中。
how-to-share-an-object-between-methods-on-different-camel-routes
【问题讨论】:
标签: spring apache-camel message-queue