RESTではリンクについてのすべてです。基本的に、APIユーザーは1つのリンク、トップレベルリンクのみを必要とします。これは通常http://server/api/などです。他のすべてのリンクは、階層をブラウズしている間に検出されます。例えば、/APIをGET/はあなたに/API /ユーザー/と/API /画像/と/API /ユーザーへのリンクを与えるかもしれない/あなた/API /ユーザーへのリンクを与えるかもしれません/ john/など。REST - コンテンツ内のリンクの書式設定方法
これらのリンクをどのようにフォーマットするのか何らかの標準があるかどうかは疑問です。結局のところ、リンクに関するすべての場合、クローラは、システムのすべてのリソースを最初から調べることができるはずです。
私はいくつかの研究を行った。 XMLメディアタイプであり、注目すべき標準を見つけることができませんでした。 /users/のリソースを選択しましょう。
<users>
<user name='john' xlink:href='/users/john'/>
<user name='steve' xlink:href='/users/steve'/>
</users>
などなど:いくつかは
<users>
<user name='john' uri='/users/john'/>
<user name='steve' uri='/users/steve'/>
</users>
その他
<users>
<user name='john' link='/users/john'/>
<user name='steve' link='/users/steve'/>
</users>
その他には、例えば与えXLINKを、使用書きます。
ここではわかりませんが、他のリソースへのリンクをどのようにフォーマットするかを指定する標準がないはずです。データがどのようにフォーマットされているかについての知識はありません。言い換えると、アプリケーションA1のAPIのクローラXは、アプリケーションA2のAPIに対してはおそらく機能しません。なぜなら、A1はA2とは異なるリソースへのリンクをフォーマットするからです。
上記では、私はXMLメディアタイプについてのみ話していました。 JSONを使用すると、さらに多くのバージョンが現場に広がっています。
リソースの関連リソースへのリンクをどのようにフォーマットする必要があるのかを指定しなかったのはなぜですか?
申し訳ありませんが、私はAtomリンクを使用していますが、形式に関係なく、リンクが表す関係の種類について何かを含める必要があります。 を入力します。リンクが何であるかを知らなければ、クライアントはそれをどうするかを理解することができなくなります。 –
あなたは正しいです。私はこれを単純化のために残しました。しかし、それでも私は同じ質問が当てはまると信じています。rel = "/ rels/new"とは人間以外の人を意味しますか? –
これはあなたのクライアント開発者が対処するものだと思います。アプリケーション全体で一貫したrel型を使用し、それらのrelsの意味を文書化し、クライアントはrelsを探してリンクをたどるだけでよい。これは、より長い会話(および他者からの入力)を保証する。新しい質問にしたいですか? –