从处理器返回骆驼HttpMessage中的JSON的简单方法

时间:2019-04-14 11:17:20

标签: apache-camel

我认为有一种简单的方法可以告诉骆驼,当返回客户端时,它必须将对象表示为JSON。

以下代码应返回一个["test the west"]之类的json数组,但不知何故。我知道应该有一些自动转换。如果不是这样,我知道如何将JSON形成数组,但是我正在寻找一种最冗长,最自动化的方法来使将来变得更容易。

private class Complete implements Processor {
    @Override
    public void process(Exchange exchange) throws Exception {
        HttpMessage http = exchange.getIn(HttpMessage.class);
        ArrayList<String> is = new ArrayList<>(4);
        is.add("test the west");
        //HttpMessage out = exchange.getOut(HttpMessage.class);
        http.setHeader(Exchange.CONTENT_TYPE, "application/json");
        http.setBody(is);
    }
}

我甚至想避免依赖传入的Accept标头来设置内容类型...有什么建议吗?

UPD ,这似乎会自动从列表中创建json,但这看起来不可靠,也不尊重Accept标头

http.setHeader(Exchange.CONTENT_TYPE, "application/json");
http.setBody(is, String.class);

0 个答案:

没有答案