Простой способ вернуть JSON в Camel HttpMessage с процессора - PullRequest
0 голосов
/ 14 апреля 2019

Я думал, что есть простой способ сказать 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...