GraphQL クエリ言語の フィールド・エイリアス 機能を使うと、取得したフィールド値を参照するときに、任意の別名を付けて参照することができます。
例えば、GraphQL スキーマとしては company
というフィールド名で定義されているものを、companyName
という JSON プロパティ名で返して欲しいときは、次のようにフィールド・エイリアスを使用します。
フィールド・エイリアスは、同名のフィールドを異なる引数で取得するときに役立ちます。
上記のように 1 つのクエリの中で同名のフィールド(ここでは user
)を要求する場合に、フィールド・エイリアス(ここでは maku
と puni
)を付けることで、レスポンスのプロパティ名がコンフリクトしないようにします。
というより、このケースではエイリアスを設定しないと、リクエスト時にエラーになります。
なお、上記クエリ内の ...basiUserInfo
という部分では、フラグメントの仕組み を使って、取得するフィールドの定義を使いまわしています。
関連記事
- GraphQL クエリ仕様: ディレクティブによる条件分岐 (@include, @skip)
- GraphQL スキーマ仕様: @deprecated ディレクティブで非推奨のフィールドを示す
- GraphQL スキーマ仕様: インタフェース型 (interface type) を定義する
- GraphQL スキーマ仕様: スキーマ定義の基本
- GraphQL スキーマ仕様: 型やフィールドに説明文 (description) を記述する
- Apollo Client の fetchMore を自動で呼び出して GitHub GraphQL の100件制限を乗り越える (useAutoFetchMore)
- Apollo CLI の codegen で GraphQL クエリレスポンスの TypeScript 型を自動生成する