swift - Vapor 3:具有任意路径段的路线
问题描述
我正在开发一个使用请求路径作为响应方法的参数的 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
。
推荐阅读
- reactjs - React Navigation 5 - 深度链接不接受给定路径并按预期解析状态
- swift - 我正在使用 Mac os 10.14 Mojave,我无法在我的项目中安装任何 pod 文件
- flutter - 如何在飞镖中获得小数部分
- spring - 将属性传递给 spring 云数据流的组合任务运行器应用程序的子任务
- html - Django,主页总是显示在子页面上
- javascript - jscodeshift TypeScript codemod - 删除通用类型但保留包装类型
- python - 如何在`Flask`中的`g`上键入提示属性?
- gridview - 具有查找编辑数据源刷新的 Devexpress 网格
- ide - .editorconfig JetBrains 值与空格
- html - 必需属性在输入标签中不起作用