Vapor 3:具有任意路径段的路线
Vapor 3: Route with arbitrary path segments
我正在开发一个 Vapor 3 应用程序,它使用请求路径作为响应方法的参数。例如:
http://localhost:8080/monitor/some/test/path
这可以由单个端点处理,在本例中为 monitor
端点,理想情况下我可以访问 URL、/some/test/path
的其余端点。
我在 Vapor 中编写了一条无法使用通配符变量的路由,并尝试了文档中描述的 group
机制,但无济于事。我对使用其他 Web 框架的期望是“/monitor/*”之类的东西应该可以完成这项工作,但我在文档中找不到任何建议。
如有任何帮助,我们将不胜感激!
如果要匹配任何单个路径参数,请使用 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
。
我正在开发一个 Vapor 3 应用程序,它使用请求路径作为响应方法的参数。例如:
http://localhost:8080/monitor/some/test/path
这可以由单个端点处理,在本例中为 monitor
端点,理想情况下我可以访问 URL、/some/test/path
的其余端点。
我在 Vapor 中编写了一条无法使用通配符变量的路由,并尝试了文档中描述的 group
机制,但无济于事。我对使用其他 Web 框架的期望是“/monitor/*”之类的东西应该可以完成这项工作,但我在文档中找不到任何建议。
如有任何帮助,我们将不胜感激!
如果要匹配任何单个路径参数,请使用 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
。