swift – Vapor 3:具有任意路径段的路径

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

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

这可以由单个端点处理,在这种情况下是监视器端点,然后理想情况下可以访问URL的其余部分/ some / test / path.

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

任何援助将不胜感激!

最佳答案 如果要匹配任何单个路径参数,请使用any path组件.如果要匹配任意数量的路径参数,请使用all path组件.

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

"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.

点赞