GraphQL vs REST

Duration: 10 min  •  Difficulty: Medium

GraphQL adalah alternatif dari REST yang dikembangkan oleh Facebook.

The Problem with REST

Di REST, kadang kita mengalami:

1. Over-fetching: Mengambil terlalu banyak data yang tidak dibutuhkan.

2. Under-fetching: Data kurang, sehingga harus request berkali-kali ke endpoint berbeda.

The GraphQL Solution

Dengan GraphQL, Client bisa meminta hanya data yang dibutuhkan saja dalam satu kali request.

Perbandingan REST vs GraphQL

Perbandingan REST vs GraphQL

Contoh Query GraphQL

Client mengirim:

graphql
query {
  user(id: 1) {
    name
    email
    # Kita tidak meminta 'address' atau 'age', jadi server tidak mengirimnya.
  }
}

Server membalas:

json
{
  "data": {
    "user": {
      "name": "Raffi",
      "email": "raffi@mail.com"
    }
  }
}