Documents
Strapi 5 における document は API 上の概念です。document は、あるコンテンツタイプの 1 エントリーに対する複数のバリエーションをまとめたものです。
シングルタイプは 1 つの固有 document を持ち、コレクションタイプは複数の document を持てます。
管理パネル利用時は document という言葉は通常意識しません。ユーザーは コンテンツマネージャー で entry を作成・編集します。例えば、特定ロケールの entry 一覧を見たり、特定ロケールの下書きを編集したりします。
ただし API レベルでは、entry のフィールド値は次のように複数状態を持ちます。
- 英語ロケールとフランス語ロケールで内容が異なる
- 各ロケールで draft 版と published 版が異なる
すべてのロケールにおける draft / published の内容をまとめる単位が document です。
Document Service API で document を操作すると、document 全体、またはその一部データを作成・取得・更新・削除できます。
次の図は、国際化(i18n) や Draft & Publish の有効化状態ごとに、コンテンツがどのようなバリエーションを持つかを示します。
- i18n と Draft & Publish の両方が無効
- Draft & Publish のみ有効
- i18n のみ有効
- i18n + Draft & Publish 有効
Loading diagram...
Loading diagram...
Loading diagram...
Loading diagram...
- コンテンツタイプで i18n が有効な場合、document は複数の document locale を持てます。
- コンテンツタイプで Draft & Publish が有効な場合、document は published と draft の 2 バージョンを持てます。
document データを扱う API
document またはその中のデータを扱うには次を使います。
- バックエンドサーバー側(コントローラー、サービス、プラグインのバックエンド側など)では Document Service API を使う。
- アプリのフロント側では REST API または GraphQL API でデータを取得する。
API 全体の説明は Content API の導入 を参照してください。
既定で返るバージョン
バックエンド API とフロント API では、パラメーター未指定時の既定バージョンが異なります。
- Document Service API は既定で draft を返す
- REST / GraphQL API は既定で published を返す