GraphQL vs REST: Modern API Yaklaşımları Karşılaştırması
z
zafer ak
Yazar
25 November 2025
1 dakika okuma
2 görüntülenme
GraphQL ve REST API karşılaştırması. Ne zaman GraphQL, ne zaman REST? Laravel ve Node.js implementasyonu.
GraphQL Nedir?
GraphQL, Facebook tarafından geliştirilen query language ve API runtime'ıdır. Client tam olarak istediği veriyi belirleyebilir.
REST vs GraphQL
| Özellik | REST | GraphQL |
|---|---|---|
| Data Fetching | Multiple endpoints | Single endpoint |
| Over-fetching | Yaygın | Yok |
| Under-fetching | N+1 request | Tek request |
| Versioning | v1, v2, v3 | Schema evolution |
| Caching | HTTP caching | Custom caching |
GraphQL Query Örneği
# Client tam olarak istediğini alır
query {
user(id: 1) {
name
email
posts {
title
comments {
body
}
}
}
}
REST Eşdeğeri
GET /api/users/1
GET /api/users/1/posts
GET /api/posts/1/comments
GET /api/posts/2/comments
... (N+1 problem)
Laravel GraphQL (Lighthouse)
# Installation
composer require nuwave/lighthouse
# Schema: graphql/schema.graphql
type User {
id: ID!
name: String!
email: String!
posts: [Post!]! @hasMany
}
type Post {
id: ID!
title: String!
user: User! @belongsTo
}
type Query {
user(id: ID! @eq): User @find
users: [User!]! @paginate
}
Ne Zaman GraphQL?
- Complex, nested data relationships
- Mobile apps (bandwidth optimization)
- Multiple frontend clients
- Rapidly evolving API
Ne Zaman REST?
- Simple CRUD operations
- HTTP caching önemli
- File uploads
- Public API
Sonuç
GraphQL ve REST birbirinin alternatifi değil, farklı use case'ler için uygundur. Hybrid yaklaşım da mümkün.