我目前正在尝试使用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
有没有办法确保它仅适用于标题参数?