1
resposta

Consumo de serviço Rest

Boa tarde. Gostaria de consumir um serviço REST HTTP para usar seu conteúdo como fonte de dados para a minha rota, ou seja, usar o conteúdo json de um serviço REST ao invés do arquivo, como segue no tutorial de exemplo. Preciso apenas para consumir esse serviço uma única vez por integração, sem polling. Tem algum componente específico para isso? Abraço.

1 resposta

Olá, Jonatan.

Você pode fazer algo como:

from("direct:loja")
.to("http://localhost:8088/fj36-livraria/loja/livros/mais-vendidos-jackson")
.unmarshal(jackson)
.transform(body().method("size"))
.process(new Processor() {
    public void process(Exchange ex) throws Exception {
        Message m = ex.getIn();
        List<Livro> livros = (List<Livro>) m.getBody();
        System.out.println("livros: " + livros.size());
        m.setBody(livros);
    }
})

E disparar a chamada com:

ProducerTemplate producer = ctx.createProducerTemplate();
producer.request("direct:loja", null);