レッスン 14

リストとオブジェクトのドキュメントパターン

ルート配列、エンベロープオブジェクト、ページネーションラッパー、形の選び方。

API と設定ファイルはトップレベルの形を選び分けます。パターンを認識すると、ドキュメントの読み方が速くなり、一貫したエンドポイント設計にもつながります。

ルート配列

有効な JSON はトップレベルで配列になり得ます。

[
  {"id": 1, "name": "Alpha"},
  {"id": 2, "name": "Beta"}
]

小さな静的リストやバッチエクスポートでよく見られます。多くの REST API は、メタデータの置き場を確保するためオブジェクトラッパーを好みます。

エンベロープオブジェクト

リストデータとメタデータをラップします。

{
  "data": [
    {"id": 1, "name": "Alpha"}
  ],
  "meta": { "total": 42, "page": 1 }
}

名前は様々です(dataitemsresultsrecords)。考え方は同じ: 1 つのオブジェクトにpayload + コンテキスト

ページネーションフィールド

よくあるパターン:

{
  "items": [],
  "nextCursor": "abc123",
  "hasMore": true
}

または pagepageSizetotalCount を使うオフセット方式。クライアントはフィールド名を決め打ちしないで — 各 API の仕様を読んでください。

オブジェクトのみのドキュメント

設定は通常、単一のオブジェクトです。

{
  "theme": "dark",
  "features": { "beta": false }
}

ルートに配列はなく、ネストしたオブジェクトで設定をグループ化します。

形の選び方

オブジェクトルートを選ぶときルート配列でよいとき
データと並べてページネーションやエラーが必要固定の小さなカタログ
バージョンや links オブジェクトが登場内部ツール、fixture
複数リソース型が 1 エンドポイントを共有シンプルな公開データフィード

自社 API 内の一貫性は、他製品のフィールド名をコピーするより重要です。

実践したいときは関連する DevCove ツールを使えます。任意であり、このレッスンの必須部分ではありません。

関連ツールを開く

コース概要へ戻る