【ぐらふきゅーえる】
GraphQL とは?
最終更新:
💡 APIが公開する項目から、必要なデータを選んで問い合わせる
APIが公開する型とフィールドの範囲で、クライアントが必要な項目を指定するクエリ言語と、その要求を実行する仕組み。返す項目は選べるが、アクセス権やサーバー側のデータ取得処理も必要になる。
📌 このページのポイント
何を指定するの?
例えばユーザーの名前だけが必要なら、公開されたuserのnameという項目を選ぶよ。成功した結果はdataの下に要求に沿った形で返る。emailを選ばなければ、その項目は結果に含めない。ただし、公開していない項目を自由に追加して取ることはできないんだ。
スキーマがあれば安全なの?
RESTなら必ず余計なデータが来る?
一つの要求ならDBアクセスも一回?
運用では何を考えるの?
まとめ:ざっくりこれだけ覚えればOK!
「GraphQL」って出てきたら「APIが公開する項目から、必要なデータを選んで問い合わせる」と思えばだいたいOK!
📖 おまけ:英語の意味
「GraphQL」 = データの関連をたどるクエリ言語
💬 関連するオブジェクトのフィールドをたどって要求を組み立てるよ。グラフ専用データベースが必須という意味ではない。