【问题标题】:Vapor 3: Route with arbitrary path segmentsVapor 3:具有任意路径段的路线
【发布时间】:2019-05-23 20:20:37
【问题描述】:

我正在开发一个 Vapor 3 应用程序,它使用请求路径作为响应方法的参数。例如:

http://localhost:8080/monitor/some/test/path

这可以由单个端点处理,在本例中为 monitor 端点,理想情况下,它可以让我访问 URL 的其余部分,/some/test/path。

我在 Vapor 中编写了一条无法使用通配符变量工作的路线,并尝试了文档中描述的 group 机制,但无济于事。我对使用其他 Web 框架的期望是“/monitor/*”之类的东西应该可以完成这项工作,但我在文档中找不到任何建议。

任何帮助将不胜感激!

【问题讨论】:

    标签: swift vapor


    【解决方案1】:

    如果要匹配任何单个路径参数,请使用any 路径组件。如果要匹配任意数量的路径参数,请使用all 路径组件。

    例如,如果我用这些路径组件注册一个路由:

    "service", any, "api", "users"
    

    它将匹配这些路由:

    • /service/v1/api/users
    • /service/caleb/api/users

    但它不会匹配这些:

    • service/v1/beta/api/users
    • service/v1

    但是,如果你使用all 组件,像这样:

    "service", "api", all
    

    您可以匹配以下任何一项:

    • /service/api/v1
    • /service/api/v1/users/caleb

    但不是/service/api。

    【讨论】:

      猜你喜欢
      • 2011-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-01
      • 2021-04-06
      • 2019-07-12
      • 2020-11-14
      相关资源
      最近更新 更多