我正在尝试使用Apache camel 2.14.1" Rest"零件。下面是我的spring dsl配置rest组件
<rest path="/a">
<get uri="/{b}">
<route>
<setBody>
<simple>${header.b}:${header.headerName}</simple>
</setBody>
<to uri="activemq:queue:requestQueue?replyTo=responseQueue"/>
</route>
</get>
</rest>
当我通过使用postman插件设置标题(headerName = 1)来调用此服务(http // localhost:8081 / test / a / b)时,我的camel配置无法读取标头值。
根据文档,我们可以使用$ {in.header.headerName}读取标题,在我的情况下返回为空。
请帮我阅读标题值。
答案 0 :(得分:0)
首先,路径/test/a/b
与您使用/a
基础配置的路径和路径模式/{b}
不匹配。您必须从您的路径中删除/test
。
为什么你不会得到我不知道的标题。您尝试设置/访问的标题名称中可能有拼写错误?
以下适用于我,使用不同的样式访问标题:
<rest path="/header-test">
<get>
<route id="header-test">
<log message="Header: $simple{in.headers[my-header]}" loggingLevel="INFO" logName="header-test" />
<transform>
<simple>${header.my-header}</simple>
</transform>
<log message="Body: $simple{body}" loggingLevel="INFO" logName="header-test" />
</route>
</get>
</rest>