Apache Camel:查询参数与标题参数

时间:2013-04-18 06:14:30

标签: java http-headers apache-camel query-parameters spring-dsl

我目前正在尝试使用Apache驼峰(作为路由引擎)。据我所知,Camel支持多个DSL,可以使用Java(Java DSL)或Spring(Spring DSL)进行配置。

问题:
我有以下Spring DSL配置。这个想法是,如果传入的请求有标题参数称为“名称”,它将触及when子句或者将请求路由到谷歌:

 <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 Param。但是,我注意到这个配置甚至适用于Query params,如以下请求所示:

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

有没有办法确保它仅适用于标题参数?

1 个答案:

答案 0 :(得分:4)

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