Backend
GraphQL & Modern API Architecture
Pelajari GraphQL untuk menggantikan REST API konvensional, mencegah over-fetching data, serta mempermudah integrasi client-server.
Status Membaca:Belum Dibaca
Daftar Bab (1)
Bab 1 dari 1
Konsep GraphQL: Schema, Query & Mutation
GraphQL vs REST API Architecture
GraphQL adalah bahasa query untuk API dan runtime server-side yang memberi kontrol penuh kepada client untuk meminta data persis sesuai kebutuhan saja.
Perbandingan REST vs GraphQL
Karakteristik
REST API
GraphQL
|---------------|----------|---------|
Endpoints
Banyak (`/users`, `/posts`, `/comments`)
Satu endpoint tunggal (`/graphql`)
Data Fetching
Berpotensi *Over-fetching* atau *Under-fetching*
Mendapatkan data presisi sesuai Query
Versioning
Memerlukan `/v1/`, `/v2/`
Tanpa versi, cukup perbarui Type Schema
Type System
Fleksibel / Opsional
Strong Typed berdasarkan Schema SDL
Contoh GraphQL Schema Definition (SDL):
type User {
id: ID!
name: String!
email: String!
posts: [Post!]!
}
type Post {
id: ID!
title: String!
content: String!
}
type Query {
getUser(id: ID!): User
allPosts: [Post!]!
}
type Mutation {
createPost(title: String!, content: String!): Post!
}Contoh Request Query dari Frontend:
query {
getUser(id: "123") {
name
email
}
}