2014-10-30 43 views
2

我已经骆驼航线以下骆驼的Restlet及部件URL匹配

<camel:route> 
     <camel:from uri="restlet:/foo/{bar}/model" /> 
     <camel:process ref="dummyProcessor" /> 
</camel:route> 

我的问题是为什么我有匹配这些请求(基本上我可以把模型后的任何东西)

GET /富/海/ modelbroken

GET /富/海/ modelwhyisthisamatch

我预计这些应该返回404.

我做错了什么?任何帮助赞赏。

回答

0

Restlet中有一个匹配模式配置选项。

http://restlet.com/learn/guide/2.3/core/routing/

虽然导说,这应该是默认的MODE_EQUALS,看起来像它的Template.MODE_STARTS_WITH,如果你检查代码:如果

https://github.com/restlet/restlet-framework-java/blob/master/modules/org.restlet/src/org/restlet/engine/component/InternalRouter.java

不知道它在引导或源错误,但你可以自己配置它。

+0

太好了,谢谢。现在的问题是如何配置camel中的restlet组件以使用Template.MODE_EQUALS? – 2014-10-30 14:49:34

+0

@ZoltanAltfatter我没有在选项列表中看到它,并且由于Camel隐藏了组件内部,因此我相信您唯一的选择是分叉组件,添加“matchingMode”参数并发送补丁。 – 2014-10-30 17:42:31