Java ApacheCamel:查询参数与头参数

Java ApacheCamel:查询参数与头参数,java,http-headers,apache-camel,query-parameters,spring-dsl,Java,Http Headers,Apache Camel,Query Parameters,Spring Dsl,我目前正在试用ApacheCamel(作为路由引擎)。我知道Camel支持多个DSL,可以使用Java(javadsl)或Spring(springdsl)进行配置 问题: 我有下面的Spring DSL配置。其思想是,如果传入的请求具有名为“name”的头参数,它将命中when子句,否则to将请求路由到google: <camel:route> <camel:from uri="servlet:///test" /> <camel:choice&

我目前正在试用ApacheCamel(作为路由引擎)。我知道Camel支持多个DSL,可以使用Java(javadsl)或Spring(springdsl)进行配置

问题:
我有下面的Spring DSL配置。其思想是,如果传入的请求具有名为“name”的头参数,它将命中when子句,否则to将请求路由到google:

 <camel:route>
    <camel:from uri="servlet:///test" />
    <camel:choice>
        <camel:when>
            <camel:header>name</camel:header>
            <camel:transform>
                <camel:simple>Hello ${header.name} how are you?</camel:simple>
            </camel:transform>
        </camel:when>
        <camel:otherwise>
                <camel:to uri="http://www.google.com?bridgeEndpoint=true" />
        </camel:otherwise>
    </camel:choice>
</camel:route>

名称
你好${header.name}你好吗?
我希望上面的配置仅适用于Header参数。但是,我注意到,这种配置即使对于查询参数也是有效的,如以下请求所示:

http://localhost:8080/<war-context>/test?name=test
http://localhost:8080//test?name=test

有没有一种方法可以确保它只对头参数起作用?

有很好的文档记录,查询参数被复制到servlet组件中的交换头。

有很好的文档记录,查询参数被复制到servlet组件中的交换头。

如果我有这样的东西怎么办:。我怎样才能同时得到它们呢?Headers中只有'name'参数,如果我有类似的内容,该怎么办:。我怎样才能同时得到它们呢?标题中只有“name”参数