0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RestAPIとGraphQLの違いの基本

Posted at

RESTとGraphQLの違い

1. データ取得の方法

  • REST:

    • 各リソースに対して異なるエンドポイントを持ちます。例えば、ユーザー情報を取得するためには /users、特定のユーザー情報を取得するためには /users/{id} というように、複数のエンドポイントを利用します。
    • 必要なデータが多すぎたり少なすぎたりすることがあり、これを「オーバーフェッチ」や「アンダーフェッチ」と呼びます。
  • GraphQL:

    • 単一のエンドポイントでデータを取得します。クライアントは必要なデータをクエリで指定でき、正確に必要な情報だけを取得できます。

2. データの構造

  • REST:

    • サーバーが決めたデータ構造に従います。クライアントはサーバーが提供する形式でデータを受け取るため、変更があるとクライアント側も修正が必要になります。
  • GraphQL:

    • クライアントが必要なデータの構造を指定できます。スキーマに基づいてクエリを作成し、必要な情報を柔軟に取得できます。

3. バージョン管理

  • REST:

    • APIの変更に伴い、バージョンを管理する必要があります。例えば、/v1/users/v2/users といった形で新しいバージョンを作成します。
  • GraphQL:

    • スキーマの変更を行っても、既存のクエリに影響を与えない限り、バージョン管理が不要です。新しいフィールドを追加しても、古いクエリはそのまま機能します。

4. リアルタイムデータ

  • REST:

    • リアルタイムデータの取得には別の仕組み(例えばWebSocket)を使う必要があります。
  • GraphQL:

    • サブスクリプション機能を利用することで、リアルタイムでデータの変更を受け取ることができます。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?