1. REST API

チャンキング

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

サーバーの応答時間を改善するために、チャンク化を使用して応答のサイズを縮小します。チャンクのサイズはサーバーによって事前に定義され、25に設定されます。このようにして、クライアントは意図せずにリソースを浪費することはできません。

コレクション リソースの応答本文には、コレクション オブジェクトが含まれます。取得する項目がさらにある場合、そのコレクションには、コレクション内の次のチャンクのリンクを含むプロパティがあります。このプロパティの名前はnextです。また、コレクション内の前のチャンク (最初のチャンクでない場合) へのリンクを含むpreviousという名前のプロパティもあります。クライアントは、これらのURLを作成することをおすすめせず、代わりにリソースに依存して必要なナビゲーション リンクを提供する必要があります。

チャンクされたコレクションの応答の例を次に示します。

{
  "items": [ ... ],
  "total_items": 36,
  "returned_items": 25,
  "next": {
    "href": "/entitydefinitions/M.Asset/entities?skip=25",
    "title": "The next page in this collection"
  },
  "self": {
    "href": "/entitydefinitions/M.Asset/entities",
    "title": "This collection"
  }
}

上記の例に示すように、チャンクがリストの先頭にある場合、previousプロパティは存在しません。したがって、コレクションの最後にある場合、nextプロパティはありません。

次の擬似コードは、クライアントが完全なコレクションを取得する方法を示しています。

var list = []
var url = '/resource'
do while (url != null) {
  var resource = fetch(url)
  list.append(resource.items)
  url = resource.next 
}

この自動チャンク化は、/searchリソースを除外するタイプListResourceを返すリソースにのみ適用されます。

チャンク サイズと開始する項目をカスタマイズする必要がある場合は、「範囲指定」セクションで説明されているように、skipパラメーターとtakeパラメーターが必要になります。

この記事を改善するための提案がある場合は、 お知らせください!