JAVASCRIPT // API TEMELLERİD::01 BAŞLANGIÇ
18m READCOMPLETION: 91%ID::API-101

API NEDİR? REST API, HTTP VE JSON TEMELLERİ

API nedir, endpoint ne demek, REST nasıl çalışır ve JSON ile veri alışverişi nasıl yapılır?

API Nedir? REST API, HTTP ve JSON Temelleri

Bu derste API kavramını yazılıma yeni başlayan biri gibi ama profesyonel zemini bozmadan öğreneceksin. Amaç sadece tanım yapmak değil; bir web uygulamasında API'nin nerede durduğunu anlamak.

Öğrenme Hedefleri

  • API'nin ne işe yaradığını açıklamak
  • REST API ve endpoint kavramlarını anlamak
  • HTTP metodlarını doğru senaryoyla eşleştirmek
  • JSON response okumak
  • Basit API tasarım hatalarını fark etmek

API'nin Uygulamadaki Yeri

Bir kullanıcı makale listesine girdiğinde tarayıcı backend'e istek atar. Backend veritabanından makaleleri çeker ve JSON olarak döner.

// TXT //
Tarayıcı -> GET /api/articles -> Backend -> Database
Tarayıcı <- JSON response <- Backend <- Database

Bu akışta API, tarayıcı ile backend arasındaki sözleşmedir.

Endpoint Nedir?

Endpoint, API'de belirli bir işi temsil eden URL'dir.

// TXT //
GET /api/articles
GET /api/articles/42
POST /api/articles
PATCH /api/articles/42
DELETE /api/articles/42

İyi endpoint okunabilir ve tahmin edilebilir olmalıdır.

HTTP Metodları

MetodKullanım
GETVeri okuma
POSTYeni veri oluşturma
PATCHKısmi güncelleme
DELETESilme

Yeni başlayanların yaptığı hata: her şeyi POST ile yapmak. Bu kısa vadede çalışır ama API'nin okunabilirliğini bozar.

JSON Response

// JSON //
{
  "id": "art-001",
  "title": "API Nedir?",
  "status": "PUBLISHED"
}

JSON, frontend ve backend arasında ortak veri formatı olarak kullanılır.

Hata Formatı

Tutarlı hata response'u:

// JSON //
{
  "error": "Başlık alanı zorunludur",
  "code": "VALIDATION_ERROR"
}

Bu format frontend tarafında kullanıcıya doğru mesaj göstermeyi kolaylaştırır.

İyi API Tasarım Kuralları

  • URL isimleri tutarlı olmalı.
  • Response formatı endpointten endpointe değişmemeli.
  • Hatalar anlaşılır kodla dönmeli.
  • Pagination düşünülmeli.
  • Filtreleme parametreleri açık olmalı.
  • Auth gerektiren endpointler backendde yeniden kontrol edilmeli.

Örnek liste endpointi:

// TXT //
GET /api/articles?category=backend&limit=20

Bu endpoint hem kategori filtresi hem limit değeriyle tahmin edilebilir davranır.

API Testi Nasıl Yapılır?

API yazarken sadece tarayıcıdan bakmak yetmez. REST Client, Postman veya curl ile doğrudan istek atabilirsin.

// BASH //
curl -i http://localhost:3000/api/articles

-i response headerlarını da gösterir. Status code ve content-type kontrolü için faydalıdır. Python ile API tüketmek istersen Python ile REST API İsteği örneğine bak.

Alıştırma

Bir blog sistemi için şu endpointleri tasarla:

  • Makale listesi
  • Makale detayı
  • Yeni makale oluşturma
  • Makale güncelleme
  • Makale silme

Her endpoint için metod ve URL yaz.

Ek görev: Her endpoint için başarılı status code ve hata status code değerini de yaz.

Sonraki Adım

API mantığını öğrendikten sonra Backend Nedir? dersine geç. Sonra güvenlik için REST API Güvenliği yazısını oku.