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.
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.
İyi endpoint okunabilir ve tahmin edilebilir olmalıdır.
HTTP Metodları
| Metod | Kullanım |
|---|---|
| GET | Veri okuma |
| POST | Yeni veri oluşturma |
| PATCH | Kısmi güncelleme |
| DELETE | Silme |
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, frontend ve backend arasında ortak veri formatı olarak kullanılır.
Hata Formatı
Tutarlı hata response'u:
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:
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.
-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.