GraphQL は、クライアントが必要なデータを指定して取りやすくする API の仕組みです。
GraphQL 公式では、API のための query language と説明されています。
初心者向けにかなりざっくり言うと、1つの窓口に対して、必要な項目をこちらから伝えやすい API と考えるとつかみやすいです。
まず押さえたいポイント
- 欲しい項目だけを指定しやすい
- Web とモバイルで必要なデータが少し違うときに相性がよい
- 柔軟なぶん、運用や監視の設計は少し考える必要がある
どんな場面で使うか
REST APIとの違い
REST API は、URL と HTTPメソッド を軸に役割を分ける考え方です。
一方の GraphQL は、入口をまとめつつ、取得したい項目をリクエストで細かく指定しやすいのが特徴です。
そのため、単純で分かりやすい構成なら REST API、画面ごとの要求差が大きいなら GraphQL という選び方が実務ではよくあります。
読むときの注意点
GraphQL は便利ですが、何でも GraphQL にすればよい というものではありません。
柔軟に取りすぎられる設計にすると、重い問い合わせや複雑な運用につながることがあります。
最初は、欲しいデータを取りやすい API の仕組み と押さえれば十分です。