Spring Rest在端点之间传递对象
概述Spring Rest在端点之间传递对象,spring,apache-camel,message-queue,Spring,Apache Camel,Message Queue,概述 我的camel安装程序调用两种服务方法。第一个响应被传递到第二个响应中,然后将最终响应作为json网页输出。很简单,没什么太复杂的 进一步细分以提供更多上下文。 方法1。接受scanId。这样行。它生成一个名为ScheduledScan.class的对象 方法2。接受ScheduledScan.class的上一个实例,并返回ConvertedScans的列表。然后将显示所述列表 代码说明 @Override public void configure() throws Exception
我的camel安装程序调用两种服务方法。第一个响应被传递到第二个响应中,然后将最终响应作为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);
现在,从读取错误来看,似乎im传递的是一条HttpMessage,而不是java对象?我有点不知道下一步该怎么办?非常感谢您的建议
我发现了一些与此消息类似的问题。但是,我希望将java对象直接传递到服务方法中
您应该将
outType
设置为最后一个输出,例如REST响应是什么,它是一个列表/数组,而不是一个pojo。因此,请改用.outTypeList(ConvertedScans.class)
rest("/publish")
.get("/scheduled-scan/{scanId}")
.to("bean:SentinelImportService?method=getScheduledScan");