私は最近、RESTfulである必要があるAPIを設計しており、HTTPヘッダとクエリ文字列パラメータを排他的に使用するシステムを定義してメタデータを定義し、応答の本体が実際のリソースデータのみ。RESTful APIでリンク拡張のリレーションタイプのURIを指す必要はありますか?
しかし、私は今、HATEOASのリンクを考えています.HTTPヘッダーやクエリ文字列のパラメータをすべて保持したいので、HTTP Link
ヘッダーフィールドを使用することに決めました。
これは、rel
属性についての質問を提起しました。私は直接回答を見つけることができません。
私の考えは、リソースのコレクションのために応答して送信されますLink
秒の1のようなものになるということです、これはRFC6570で定義されているクライアントは、単純な文字列の拡張を使用することができるようになるLink: <https://api.domain.com/things/{id}>; rel="..."
メタデータを各リソースに埋め込む必要がなく、クライアントがURIテンプレートとリソースID以外を知る必要がなく、コレクション内のリソースごとに正しいリソースURIを作成できます。
しかし、rel
がここにあるべきか、それとも何を指すべきかはわかりません。
URIは関係 タイプのセマンティクスの定義を含む リソースを指し示すことができますが、クライアントが必要です。
RFC5988で、それは、拡張関係タイプはURIでなければならず、と言います がサーバーに負担をかけないように、そのリソースに自動的にアクセスしないでください。
私の質問は、RESTful APIではどのように定義されていますか?
私はちょうどrel
のようなものをhttps://api.domain.com/media/thing
のように作ることができます。
しかし、実際の定義内容はどのようなものでしょうか?
それは技術的には何かのように見えます。たとえば、簡単な説明のあるプレーンテキストのドキュメントです。
この種類のrel
属性には、どのようなRESTful標準がありますか。
何か助けていただければ幸いです。
したがって、HALドラフトでは、関連URIがリレーションに関する文書を持つHTMLページを指し、CURIEを使用してデータ転送サイズを削減し、クライアントに一貫したキーを提供するという素晴らしい提案があるようですたとえrel URI自体が変更されたとしても、その関係のhrefを検索するために検索する必要があります。 基本的にrelを使用してHTMLドキュメントをポイントし、CURIEを使用してrelをキーとして信頼性の高いhrefルックアップを作成します。 そうですか? 私が正しく理解していれば、私の質問にはうまく答えていると思いますが、私は確認を待つでしょう。 –
うん、それはそれほど多くの私の理解、あまりにも –
明確化のおかげで:) –