URLDispatcher
URLDispatcher[{patt1content1,patt2content2,…}]
表示一个用来部署 URL 的调度器,指定相对路径和字符样式 patti 相吻合的 URL 应该给出由 contenti 表示的内容.
更多信息
- CloudDeploy[URLDispatcher[…]] 产生一个对应于激活的 URL 调度器的云对象. 通常情况下,用 URL 调度器来解释所有和该云对象的 URL 有关的 URL.
- 云对象对特定的 URL 的指定部署(比如利用 CloudDeploy)将覆盖由 URL 调度器对该URL 给出的任何规则.
- 在由 URLDispatcher 指定的 URL 中,patti 将会被文字式的附加在由部署的 URL 调度器的 URL 所定义的基础 URL 上.
- 在 CloudDeploy[URLDispatcher[{patt1:>…,…}]] 中,patti 必须以 / 开头.
- 在 URL 匹配的情况下,默认忽略 URL 中后续的字符. 如果想要强制与 URL 的尾部也要完全相吻合,可在字符串模式中加入 EndOfString.
- contenti 必须是适合于用 CloudDeploy 来部署的内容.
- contenti 可以含有 URLDispatcher.
- 当嵌套有 URLDispatcher 规范时,在与前一个规范匹配以后,将 URL 余下的部分给到下一个规范.
范例
打开所有单元关闭所有单元基本范例 (2)
URLDispatcher 可与简单的字符串一起使用:
访问 https://www.wolframcloud.com/objects/user-b0c28e9f-876d-4478-9d8b-9e7d18a9ea81/application/form 产生一个 FormFunction:
访问 https://www.wolframcloud.com/objects/user-b0c28e9f-876d-4478-9d8b-9e7d18a9ea81/application/api 产生一个 APIFunction:
访问 CloudObject 的空的 URL 产生没有该页面的错误信息:
URLDispatcher 也支持一般的字符串模式:
推广和延伸 (1)
可能存在的问题 (3)
在只有字符串第一部分匹配的情况下,就认为 URLDispatcher 是匹配的:
访问 https://www.wolframcloud.com/objects/3329aa63-b811-444c-90c7-29e527aa9eb5/abc?a=foo 产生下述结果:
这将导致总是引向欢迎页面. 使用 EndOfString 可以避免这种情况:
当部署到 CloudObject,URLDispatcher 需要一个明确的 "/". 以下总是返回 404 错误:
当 URLDispatcher 嵌套在另一个 URLDispatcher,结果不一样:
文本
Wolfram Research (2016),URLDispatcher,Wolfram 语言函数,https://reference.wolfram.com/language/ref/URLDispatcher.html.
CMS
Wolfram 语言. 2016. "URLDispatcher." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/URLDispatcher.html.
APA
Wolfram 语言. (2016). URLDispatcher. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/URLDispatcher.html 年