JSON的骆驼绑定模式不起作用,无法将其解组到POJO

时间:2019-06-06 14:37:10

标签: json rest apache-camel spring-camel

我正在尝试将消息从其余API发送到新路由,甚至我在REST API上也收到JSON格式的请求,并且绑定设置为JSON,当我将其转发到新路由时,它将显示为InputStream而且我必须将其编组为JSON才能使用它。

我已经尝试过在RestConfiguration中使用streamCaching和其他组件(消耗,产生,类型,数据类型)。我也在POM中使用所有依赖项。

public void configure() {
    restConfiguration().component("servlet")
            .bindingMode(RestBindingMode.json)
            .skipBindingOnErrorCode(false);

    rest("/resttest")
       .patch("/t1")
            .id("t1")
            .description("t1")
            .consumes("application/json")
            .produces("application/json")
            .param()
                .name("body")
               .type(RestParamType.body)
               .dataType("json")
                .required(true)
            .endParam()
            .to("direct:test2");

这条路线是在其他班级:

 from("direct:test2").id("test2")

            .marshal().json(JsonLibrary.Jackson,SomePOJO.class)
            .unmarshal().json(JsonLibrary.Jackson, SomePOJO.class)
            .choice()
            .when(simple("${body.getStatus()} =~ 'Closed'"))
            .....

我期望在test2路由上获取JSON消息,并且以某种方式获得InputStream,所以我必须先进行封送处理。有人知道如何使REST API转发给我以JSON格式而不是流形式路由消息吗?

1 个答案:

答案 0 :(得分:0)

尝试:

infoTemplate.setTitle(result.poi.nombre);
infoTemplate.setContent(this.getTooltip(result.poi));

在解组之前。