Я думал, что есть простой способ сказать Camel, что он должен представлять объект как JSON при возврате клиенту.
Следующее должно возвращать массив json, такой как ["test the west"]
, но почему-то это не так«т.Я знаю, что должно быть автоматическое преобразование.Если нет, я знаю, как создать 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 из списка, но это выглядит ненадежным и также не уважаетПринимаем заголовки
http.setHeader(Exchange.CONTENT_TYPE, "application/json");
http.setBody(is, String.class);