1.柔軟なデータ取得が可能
クライアントはエンドポイントに含まれるデータを選択的に取得することができるので、クライアントとGraphQLサーバー間で無駄な通信が発生しません。
2.シングルエンドポイント
必要なデータが複数のデータソースに分散されていたとしても、GraphQLサーバー上のエンドポイントに一度クエリを送信するだけで必要なデータを取得することができます。
3.強力な型システムによって定義される
データ構造はスキーマや型システムによって明確に定義されるため、不正なクエリやデータの混入を防ぐことができます。また、APIの使い方やデータの意味がわかりやすいので、効率的なアプリケーション開発を行うことができます。
4.リアルタイムデータを扱うことができる
サブスクリプション機能を用いることで、リアルタイムにデータの変更を監視することができます。クライアントがGraphQLサーバーにサブスクリプションをリクエストすると、GraphQLサーバーは該当するデータの変更を監視し、データの変更があった際は自動的にクライアントへ変更後のデータを送信します。
GraphQLは、主にバックエンドにあるデータを簡単かつ効率的にフロントエンドのアプリケーションで利用したり、複数のシステムやサイロ化されているデータを統合して、これまで有効利用されていなかったデータを利活用する目的で利用されています。
Copy