読み取り時の解決
読み取りは、どのロケールとコンテキストを使うか、下書きが必要かどうかを指定します。選択はサーバーが行い、各クライアントは要求したフィールドの完成した値を受け取ります。
すべての読み取りに付く3つの引数
モデルごとの読み取りは、単数でも一覧でも、locale、contexts、previewの3つの引数を受け取ります。解決された値は型付きフィールドにそのまま返ります。型付きSDKも、自身の呼び出しで同じ3つを受け取ります。
ロケールのフォールバック、フィールドごと
翻訳可能なフィールドごとに、サーバーは順序付きのリストをたどり、最初に見つかった値を返します。順序は、リクエストされたロケール、設定されたフォールバックチェーン、同じ言語とスクリプトで最も近いもの、プロジェクトの既定、そして作成時の値です。たどる処理はフィールドごとなので、一部だけ翻訳されたレコードでも、1つのレスポンスで題名はあるロケールから、本文は別のロケールから返ることがあります。ロケールを指定しない読み取りには、作成時の値が返ります。
下書きか公開か
previewをtrueにすると、読み取りは公開バージョンの代わりに最新の下書きを返します。これはdrafts:readスコープを持つキーが対象です。
読み取りの解決方法を確認する
読み取りの内容を変えずに状況を報告するデバッグ用スイッチが2つあります。localeStrictはフォールバックしたフィールドを一覧します。resolutionTraceは、ターゲティングのデバッグスコープを持つキーに、処理の全経路を返します。
詳細を読む
GraphQLガイドには、locale、contexts、preview引数と、それぞれが解決する内容が記載されています。