グラフQLとは?
ぐらふきゅーえる
グラフQLとは、Facebookが開発したAPIのクエリ言語で、クライアントが必要なデータだけを指定して取得できる柔軟なデータ取得の仕組みです。
GraphQL(グラフQL)は、Facebookが2012年に開発し2015年にオープンソース化したAPIのためのクエリ言語、およびその実行環境です。REST APIに代わるモダンなAPI設計として広く採用されています。
REST APIでは、エンドポイントごとに返すデータが固定されています。必要なデータが複数エンドポイントにまたがる場合は複数回リクエストが必要になり、逆に不要なデータも含めて受け取る「オーバーフェッチング」が起きやすい課題があります。GraphQLではこれを解決します。
GraphQLの主な特徴は以下の通りです。
- クライアント側が必要なフィールドだけを指定してリクエストできる
- 1回のリクエストで複数のリソースを取得できる(アンダーフェッチングを防ぐ)
- 型スキーマによりAPIの構造が明確に定義される
- サブスクリプション機能でリアルタイムデータ更新にも対応できる
GraphQLは単一のエンドポイント(通常は /graphql)にクエリを送る仕組みで、スキーマ定義がドキュメント代わりにもなります。ReactやVueなどのフロントエンドフレームワークとの相性がよく、GitHub・Twitter・Shopifyなど多くのサービスが採用しています。一方、キャッシュ制御の複雑さやN+1問題など固有の課題もあります。
使い方・例文
「GraphQLを使えば、ユーザー名とアイコンだけほしいときにそれだけを指定して取得でき、REST APIのように全ユーザー情報をまとめて受け取る無駄がなくなる」という場面で登場します。
この用語をシェア
最終更新: