我认为有一种简单的方法可以告诉骆驼,当返回客户端时,它必须将对象表示为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);