Как получить карту запроса URL с верблюдом отдыха? - PullRequest
0 голосов
/ 03 апреля 2019

Как я могу настроить Camel для передачи всех аргументов запроса URL-адреса на карту в методе bean-компонента?

Учитывая этот пример кода

@ContextName("camelBean")
public class CamelTestRoute extends RouteBuilder {

    @Override
    public void configure() throws Exception {       
        rest("/foo").description("Test api")
            .consumes("application/json").produces("application/json")
            .get("/stuff").description("get stuff")
                .param().name("key").type(RestParamType.query).description("The key parameter").dataType("string").endParam()
                .responseMessage().code(200).message("The stuff").endResponseMessage()
                .to("bean:camelBean?method=getStuff")
            ;
    }
}

@Named("camelBean")
public class CamelServiceBean {

    public String getStuff(Map<String, String> args) {
        return String.valueOf(args);
    }

}

Когда я получаю доступ к <camelurl>/foo/stuff?key=asdasd, я хочуgetStuff вызывается с картой, содержащей 'key' => 'asdasd'.

1 Ответ

0 голосов
/ 04 апреля 2019

Вы можете аннотировать карту с помощью @ Headers

http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Headers.html

public String getStuff(@Headers Map<String, Object> args) {
    return String.valueOf(args);
}

Арги будут иметь эту карту .

См. документацию для аннотаций

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...