URLDispatcher
URLDispatcher[{patt1content1,patt2content2,…}]
文字列パターン pattiにマッチする相対URLが contentiが表すWebのコンテンツを返すように指定する,配備されたURLのディスパッチャを表す.
詳細
- CloudDeploy[URLDispatcher[…]]は,アクティブなURLディスパッチャに対応するクラウドオブジェクトを返す.このクラウドオブジェクトのURLに対して相対的であるURLはすべて,URLディスパッチャを介して解釈されるのが普通である.
- 例えばCloudDeployを使ってクラウドオブジェクトを特定のURLへ配備すると,URLディスパッチャによって与えられたそのURLについての任意の規則がオーバーライドされる.
- pattiは,URLDispatcherに指定されたURLで内で,配備された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を訪れると「page not found(ページが見つかりません)」というエラーが返される:
URLDispatcherは一般的な文字列パターンもサポートする:
一般化と拡張 (1)
考えられる問題 (3)
URLDispatcherは,最初の文字列がマッチした場合にのみマッチする:
https://www.wolframcloud.com/objects/3329aa63-b811-444c-90c7-29e527aa9eb5/abc?a=fooを訪れると以下が返される:
これは,部分文字列が最初にマッチされると他が無視されることを示している:
以下は常にウェルカムページを開く.この動作が避けたければ明示的なEndOfStringを使うとよい:
URLDispatcherは,CloudObjectに配備される場合は明示的な"/"を必要とする.次は,常に404エラーを返す:
URLDispatcherが他のURLDispatcher内にネストされている場合はこの限りではない:
テキスト
Wolfram Research (2016), URLDispatcher, Wolfram言語関数, https://reference.wolfram.com/language/ref/URLDispatcher.html.
CMS
Wolfram Language. 2016. "URLDispatcher." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/URLDispatcher.html.
APA
Wolfram Language. (2016). URLDispatcher. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/URLDispatcher.html