Python学習チャンネル by PyQ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

GraphQLで同じフィールドを別々に出力するには?

f:id:Arty_Mireiyu:20220128170259p:plain

PyQチームのtsutomuです。
今日は、クエスト「grapheneを使おう」の1問目に関連して、GraphQLで同じフィールドを書いたときにどうなるかを紹介します。

GraphQLは、Facebookが開発したデータ操作を行うWeb APIのクエリ言語とランタイムです。

参考

graphql.org

ja.wikipedia.org

GraphQLを使ったサービス構築は、いろいろなソフトウェアやプログラミング言語で可能です。
PyQではPythonを使ってGraphQLのサービス構築の初歩を学ぶことができます。

本ブログでは、PyQのクエストに登場するスキーマを使っていますが、以下だけ知っていれば大丈夫です。

クエリ'{ hello }' を実行すると、結果が {'hello': 'Hi!'} になる

本題

GraphQLのクエリでは、複数の同一フィールドがあると1つにまとめられます。

'{ hello hello }'

上記を実行しても、'{ hello }'と同じく下記の結果になります。
なお、GraphQLではカンマは記述しなくても構いません。

{'hello': 'Hi!'}

しかし、エイリアスで別名にすると、2つ以上でも指定することができます。

エイリアスをつけた場合

{ hello ah: hello }

上記を実行すると下記になります。ah:は、2つ目のhelloのエイリアスです。

{'hello': 'Hi!', 'ah': 'Hi!'}

詳細は、Field Aliasを参照ください。

Copyright ©2017- BeProud Inc. All rights reserved.