蒸气3:使用任意路径段进行路由

时间:2018-12-24 20:07:23

标签: swift vapor

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

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

这可以由单个端点(在这种情况下为monitor端点)进行处理,理想情况下,它将使我能够访问URL的其余部分/some/test/path

我在Vapor中使用通配符变量编写了一条无效的路由,并尝试了文档中所述的group机制,但无济于事。我对使用其他Web框架的期望是,可以执行“ / monitor / *”之类的工作,但我在文档中找不到任何建议。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分: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