使用Restlets,您可以使用基于URI template specification的系统路由URI。我希望能够路由匹配以下模式的URI
http://www.blah.com/something/...arbitrarily long path.../somethingelse/
因此,以下两个URI将匹配并路由相同:
http://www.blah.com/something/a/b/c/d/somethingelse/
and:
http://www.blah.com/something/z/y/x/w/v/somethingelse/
如何使用Restlets实现此目的?
干杯,
皮特
答案 0 :(得分:2)
设置路由的最常用方法是使用路由器,如下所示:
router.attach("/path/to/resource", MyResource.class);
'attach'会返回Route,其方法为setMatchingMode,因此您可以执行此操作:
router.attach("/path/to/resource", MyResource.class).setMatchingMode(Template.MODE_STARTS_WITH);
这将路由设置为匹配以提供的模式开头的任何URL。
我希望这足以满足您的需求。我不知道任何内置的方法来匹配具有特定前缀和特定后缀的URL。但如果那是你需要的,你可以实现自己的模板,路线等子类(我不确定需要哪些。)
我很确定在Restlet邮件列表中已经讨论过基于正则表达式的路由;你可能想在那里搜索。