API Nedir? REST API Ne İşe Yarar, Nasıl Öğrenilir?
API, iki yazılımın birbiriyle konuşmasını sağlayan arayüzdür. Bir mobil uygulama hava durumunu gösterirken, bir e-ticaret sitesi ödeme alırken veya bir admin panel makale listesini çekerken arka planda API kullanır.
En sade tanım şudur: API, bir uygulamanın başka bir uygulamadan kontrollü şekilde veri istemesini veya işlem yaptırmasını sağlar.
Web geliştirmede en sık duyacağın tür REST API'dir. REST API, HTTP metodları ve URL endpointleri üzerinden veri alışverişi yapar. Konuyu ders formatında çalışmak için API 101 dersine de geçebilirsin.
API Ne İşe Yarar?
API, frontend ile backend arasındaki köprüdür. Frontend kullanıcıdan form alır, backend bu veriyi işler, veritabanına kaydeder ve sonucu API response olarak döner.
Örnek işlemler:
- Kullanıcı girişi yapmak
- Makale listesini çekmek
- Profil bilgisini güncellemek
- Sipariş oluşturmak
- Dosya yüklemek
- Arama sonucu getirmek
- Bildirim göndermek
API olmadan modern web uygulamaları parçalı ve sürdürülebilir şekilde çalışamaz.
REST API Nedir?
REST API, kaynakları URL ile temsil eden ve HTTP metodlarıyla işlem yapan API yaklaşımıdır.
Örnek kaynaklar:
Yaygın HTTP metodları:
| Metod | Anlamı |
|---|---|
| GET | Veri okur |
| POST | Yeni veri oluşturur |
| PATCH | Mevcut veriyi kısmen günceller |
| PUT | Mevcut veriyi tamamen günceller |
| DELETE | Veri siler |
REST API öğrenirken bu tabloyu ezberlemekten çok gerçek senaryoda kullanmayı öğrenmek gerekir.
API Response Nasıl Görünür?
Çoğu API JSON döner.
Liste response örneği:
API tasarımında response yapısının tutarlı olması frontend ve mobil ekiplerin işini kolaylaştırır.
Status Code Nedir?
HTTP status code, isteğin sonucunu anlatır.
| Kod | Anlamı |
|---|---|
| 200 | Başarılı |
| 201 | Oluşturuldu |
| 400 | Hatalı istek |
| 401 | Giriş gerekli |
| 403 | Yetki yok |
| 404 | Bulunamadı |
| 429 | Çok fazla istek |
| 500 | Sunucu hatası |
Yeni başlayanların en sık hatası her hatayı 500 dönmektir. Kullanıcı yanlış veri gönderdiyse bu sunucu hatası değil, 400 sınıfı bir istemci hatasıdır.
API Öğrenme Sırası
- HTTP request/response mantığını öğren.
- GET ve POST endpointleri yaz.
- JSON response üret.
- Hata formatını standartlaştır.
- Veritabanı ile CRUD yap.
- Auth ve rol kontrolü ekle.
- Rate limit ve input validation öğren.
- Loglama ve test ekle.
Backend tarafına devam etmek istersen Backend Nedir? yazısı iyi bir sonraki adımdır.
API Güvenliği
API güvenliği sadece token eklemek değildir.
Dikkat edilmesi gerekenler:
- Input validation
- Rate limiting
- Yetki kontrolü
- Güvenli hata mesajı
- Dosya yükleme limiti
- CORS politikası
- Loglama
- Secret yönetimi
API güvenliği için REST API Güvenliği yazısını da okuyabilirsin.
Sık Sorulan Sorular
API öğrenmek zor mu?
Temel API mantığı zor değildir. Zor olan kısım güvenli, tutarlı ve sürdürülebilir API tasarlamaktır.
REST API mi GraphQL mi öğrenmeliyim?
Başlangıç için REST API daha uygundur. GraphQL daha sonra öğrenilebilir. Karşılaştırma için REST vs GraphQL yazısına bakabilirsin.
API için hangi dil kullanılır?
Node.js, PHP, Python, C#, Java, Go gibi birçok dil kullanılabilir. Önemli olan HTTP, veri modeli ve güvenlik mantığını anlamaktır.