代码之家  ›  专栏  ›  技术社区  ›  Robbo_UK

Rest在端点之间传递对象

  •  0
  • Robbo_UK  · 技术社区  · 7 年前

    .
    我的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);
    


    类型:java.lang.String on:HttpMessage@0x63c2fd04.原因:没有可用的类型转换器

    下面的运行没有错误,即没有方法2。所以我认为我差不多做到了。

    rest("/publish")
    .get("/scheduled-scan/{scanId}")
    .to("bean:SentinelImportService?method=getScheduledScan");
    

    camel-rest-bean-chaining

    how-to-share-an-object-between-methods-on-different-camel-routes

    1 回复  |  直到 7 年前
        1
  •  1
  •   Claus Ibsen    7 年前

    您应该设置 outType .outTypeList(ConvertedScans.class)