REST API’leri: kullanmak ve yazmak
curl ve küçük betiklerle bir REST API’yi keşfeder, kaynakları okuyup değiştirir, sonra kendi basit API’ni yazıp belgelersin.
Seviye 201 · 18 ders · 15 pratik lab
Dersler
API kullanmak
- API nedir: programların konuşma sözleşmesi
- Kaynaklar, adresler ve yöntemler
- curl ve jq ile JSON API okumak
- Sorgu parametreleri: süzme, sıralama, sayfalama
- Kayıt oluşturmak, güncellemek, silmek
- Hata yanıtlarını okumak
- API anahtarı ve belirteçle istek
- Kısa görev: belgesi olmayan bir API’yi keşfet
İstemci yazmak
- Python ile API istemcisi
- JavaScript fetch ile API istemcisi
- Tüm sayfaları dolaşmak
- Hız sınırı ve yeniden deneme
- Kısa görev: API’den CSV dışa aktaran betik
API yazmak
- İlk API sunucun
- Girdi doğrulama ve anlamlı hatalar
- Veriyi SQLite’ta saklamak
- OpenAPI ile belgelemek
- Bitirme görevi: envanter API’si
Pratik lablar
- API yanıtından tek alanı çek: Lab'daki kitap API'sinden curl ve jq ile yalnızca stokta olan kitapların adlarını listele.
- Sorgu parametreleriyle sonucu daralt: Ürün API'sinde filtre, sıralama ve sayfa parametreleriyle bir kategorinin en pahalı ikinci beş ürününü getir.
- Hata yanıtlarını sınıflandır: Bir API'ye bilerek hatalı istekler gönderip 400, 401, 404, 409 ve 422 yanıtlarının her birini neden aldığını açıkla.
- Görev oluştur, güncelle ve sil: Görev API'sinde curl ile bir görev oluştur, PATCH ile durumunu değiştir ve sonra sil.
- Belirteçli isteği doğru gönder: 401 dönen bir isteği Authorization başlığıyla düzelt ve belirteci kabuk geçmişine bırakmadan kullan.
- PUT ile PATCH farkını veride göster: Bir müşteri kaydını kısmi gövdeyle önce PUT sonra PATCH ile güncelleyip hangi alanların silindiğini karşılaştır.
- Python ile şube listesini çek: requests ile şube API'sinden şehir listesini alıp ekrana düzgün bir tablo olarak bas.
- Bağlantı başlığıyla tüm sayfaları dolaş: Sayfa başına 20 kayıt dönen müşteri API'sinin tüm sayfalarını Link başlığını izleyerek dolaşan bir istemci yaz.
- JavaScript istemcisine hız sınırı uyumu ekle: fetch tabanlı bir istemcinin 429 yanıtlarında Retry-After'a uyup yeniden denemesini ve toplam süreyi raporlamasını sağla.
- Sağlık kontrolü uç noktası ekle: Mevcut küçük API'ye sürüm ve çalışma süresini dönen bir /health uç noktası ekle.
- Hatalı girdiye alan bazlı hata dön: Etkinlik kayıt API'sinde eksik ve hatalı alanlar için alan bazlı mesajlar içeren 422 yanıtları üret.
- Randevu API'sini SQLite'a bağla: Veriyi bellekte tutan bir randevu API'sini SQLite'a taşıyıp CRUD işlemlerini parametreli sorgularla yeniden yaz.
- Uç noktayı OpenAPI'de belgele: Bir ürün listeleme uç noktasının parametre ve yanıtlarını OpenAPI dosyasına yaz.
- Belgeyle davranış arasındaki farkı bul: OpenAPI belgesinde yazanla API'nin gerçekte döndürdüğünü karşılaştırıp üç tutarsızlığı bul ve düzelt.
- Belgeden istemci üretip dene: OpenAPI belgesinden bir istemci üretip stok API'sine karşı çalıştır, eksik şemanın yol açtığı hatayı düzelt.
Kurs hakkında
curl ve küçük betiklerle bir REST API’yi keşfeder, kaynakları okuyup değiştirir, sonra kendi basit API’ni yazıp belgelersin.
Ne öğreneceksin
- API kullanmak
- İstemci yazmak
- API yazmak
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.