リンクの識別
すべてのサービス・コールでは、links=yes
パラメータがサポートされます。このパラメータは、コール自体と、他のサービスとの関係を識別するリンク・データを返します。
links
パラメータは、HATEOAS (アプリケーション状態のエンジンとしてのHTML)標準に準拠します。この標準では、サーバーによって返される有効なHTMLリンクを使用して、現在のリソースを識別し、あるリソースから別のリソースにナビゲートします。
関係
通常、1つのサービス・コールにより、複数のリンクが返されます。各リンクには、リンクが関連コールとどのように関係しているかを識別する関係タイプが含まれます。 次の表では、最も一般的な関係タイプについて説明します。
リンク・タイプ | 説明 |
---|---|
Self |
現在のサービス・コールを識別します。 |
標準 |
リソース・コールの優先バージョンを識別します。 |
子 |
フォルダなどの階層リソースの場合、このリンクは、現在のサービス・コールで識別されるリソースの1つ以上の子アイテムにアクセスするためのコールを識別します。 |
親 |
フォルダなどの階層リソースの場合、このリンクは、現在のサービス・コールで識別されるリソースの親アイテムにアクセスするためのコールを識別します。 |
前 |
レスポンス・データの複数のページが含まれるサービス・コールの場合、このリンクは、前のページにアクセスするためのコールを識別します。 |
次 |
レスポンス・データの複数のページが含まれるサービス・コールの場合、このリンクは、次のページにアクセスするためのコールを識別します。 |
リソース・メタデータに対して返されるリンク情報には、リソースに対してサポートされている各サービスのサービス・タイプ(copy
など)を識別する関係など、その他のタイプの関係が含まれます。 詳細は、「メタデータ収集」を参照してください。
例
この例では、次のサービス・コールに対するレスポンス内のホーム・フォルダのリンク部分(のみ)を示します。
GET https://www.example.com/documents/api/1.1/folders/self/items?links=yes&limit=2&offset=1
このコールは、ホーム・フォルダ内のすべてのアイテムのリストをリクエストします。 コールには、使用可能なリンク関係を示すために役立つlinks
パラメータおよびページ区切りパラメータが含まれていることに注意してください。 また、このフォルダはホーム・フォルダであるため、レスポンス内の親フォルダを表すリンクはありません。
"links": [ { "rel": "self", "href": "https://www.example.com/documents/api/1.1/folders/self/items?links=yes&limit=2&offset=1" }, { "rel": "canonical", "href": "https://www.example.com/documents/api/1.1/folders/self" }, { "rel": "children", "href": "https://www.example.com/documents/api/1.1/folders/self/items" }, { "rel": "prev", "href": "https://www.example.com/documents/api/1.1/folders/self/items?offset=0&limit=2" }, { "rel": "next", "href": "https://www.example.com/documents/api/1.1/folders/self/items?offset=3&limit=2" } ],