【问题标题】:Java Restlets - Match arbitrarily long URI path parameterJava Restlets - 匹配任意长的 URI 路径参数
【发布时间】:2011-02-15 12:32:00
【问题描述】:

使用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 实现这一目标?

干杯,

皮特

【问题讨论】:

    标签: java rest uri match routes


    【解决方案1】:

    设置路由的最常见方法是使用路由器,如下所示:

    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 邮件列表中讨论过;你可能想在那里搜索。

    【讨论】:

      猜你喜欢
      • 2020-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-02
      • 1970-01-01
      相关资源
      最近更新 更多