我有以下路线:
<camel:camelContext id="convert">
<camel:route>
<camel:from uri="restlet:/convert/{id}"/>
<camel:transform>
<camel:groovy>
request.headers.id
</camel:groovy>
</camel:transform>
</camel:route>
</camel:camelContext>
此路由应简单地返回 URL 中传递的值作为 id 参数。当我执行此操作时,第一个调用有效。第一次调用之后的任何内容都会返回第一次调用中传递的值。因此,如果第一次调用是 hostname/convert/999,则任何其他调用都将返回 999,无论 URL 中传递了什么 id。看起来 groovy 正在做一些我不理解的有状态的事情。
有什么想法吗?
JavaScript 似乎也发生了同样的事情。
<camel:camelContext id="convert">
<camel:route>
<camel:from uri="restlet:/convert/{id}"/>
<camel:transform>
<camel:javaScript>request.headers.get('id')</camel:javaScript>
</camel:transform>
</camel:route>
</camel:camelContext>