TECHNOLOGY COMPARE

GraphQL / REST

「どっちが上?」ではなく、まず同じ仕事をする道具なのかを確認します。

DIRECT COMPARISON

直接比較しやすい組み合わせ

GraphQLとRESTはどちらも「通信・API方式」の技術なので、同じ土俵で比較しやすい組み合わせです。

通信・API方式

GraphQL

クライアントが必要なフィールドを指定するクエリ言語と実行方式。型付きスキーマを介して複数リソースのデータを一度に取得する。

何を担当する?

型付きスキーマを介して複数リソースのデータを一度に取得する。

いつ使う?

  • 画面ごとに必要データが大きく異なりスキーマを共有したいとき。

避けたい場面

  • 単純なHTTP リソース APIでキャッシュや運用を簡潔に保ちたいとき。
通信・API方式

REST

リソースとHTTP操作を中心にAPIを設計するアーキテクチャスタイル。識別可能なリソース、統一インターフェース、ステートレスな通信を指針にする。

何を担当する?

識別可能なリソース、統一インターフェース、ステートレスな通信を指針にする。

いつ使う?

  • 公開性とHTTPの単純さを重視するCRUD中心API。

避けたい場面

  • クライアントごとに異なる複雑なデータグラフを一度で取得したいとき。
DIRECT RELATION

RESTとGraphQLはサービス間APIの契約と通信形式で比較される。識別可能なリソース、統一interface、statelessな通信を指針にする。一方、GraphQLは型付きスキーマを介して複数リソースのデータを一度に取得する。