CodeBlanks Logo Icon CodeBlanks

REST API temelleri

PHP kursu · İleri seviye · Ders 52/92

REST mimarisinin temellerini ve kaynak (resource) kavramını öğrenirsin.

REST ve kaynak kavramı

REST, HTTP protokolü üzerinden kaynak (resource) tabanlı API'ler tasarlama biçimidir. Bir kaynak, sunucudaki bir veri birimidir: bir kullanıcı, bir görev, bir ürün. Her kaynak bir URL ile adreslenir; örneğin /users/42 42 numaralı kullanıcıyı belirtir.

İstemci kaynağa HTTP yöntemleriyle erişir: okur, oluşturur, günceller veya siler. Sunucu yanıtı yapısal veri biçiminde döner ve istemci bu veriyi çözümleyerek kullanır.

Durum bilgisiz (stateless) ilke

REST'te her istek kendi başına anlaşılır olmalıdır. Sunucu istekler arasında istemcinin durumunu saklamaz; buna durum bilgisiz ilke denir. Her istek gerekli tüm bilgiyi kendi içinde taşır.

Bu ilke sunucuyu basitleştirir ve ölçeklenmeyi kolaylaştırır. Hangi sunucu isteği alırsa alsın aynı yanıtı verir; çünkü durum istekte değil, kaynakta saklanır. Oturum (session) verisi istek içinde parametre veya başlık olarak gönderilir.

Uygulama Kaynak temsilini dize olarak döndür

getResource adında bir işlev yaz. $id parametresi alsın. İçinde id, title ve done anahtarlı bir dizi oluştur (title değeri 'Görev', done değeri false). Bu diziyi encode ve UNESCAPED_UNICODE ile dizeye çevirip döndür. Sonra getResource(7) çağrısının sonucunu yazdır.

Örnek çözümü göster
getResource işlevini tanımla, içine encode çağrısı koy ve return ile döndür; sonra echo ile çağır.
Örnek çözüm:
function getResource($id) {
    $resource = ['id' => $id, 'title' => 'Görev', 'done' => false];
    return encode($resource, UNESCAPED_UNICODE);
}
echo getResource(7);

Kendini test et

  1. URL ile adreslenen veri birimi

    REST'te bir URL ile adreslenen veri birimine ____ denir; örneğin /tasks/7 bir görev kaynağıdır.
    Cevabı göster
    REST'te bir URL ile adreslenen veri birimine kaynak denir; örneğin /tasks/7 bir görev kaynağıdır.
  2. REST kavramlarını eşleştir

    resource
    URL ile adreslenen veri
    HTTP method
    kaynak üzerinde işlem
    URL
    kaynağın adresi
    response
    sunucudan dönen yanıt
  3. Durum bilgisiz (stateless) ilke ne anlama gelir?

    • Sunucu her istekte tüm oturum verisini yeniden ister
    • Her istek kendi içinde tamdır; sunucu istekler arası durum saklamaz
    • İstemci yalnızca tek bir sunucuyla haberleşir
    • İstekler yalnızca GET yöntemiyle yapılır
    Cevabı göster

    Her istek kendi içinde tamdır; sunucu istekler arası durum saklamaz — Doğru. Durum bilgisiz ilkede her istek kendi içinde tamdır; sunucu istekler arası durum tutmaz.

İleri seviye bölümündeki tüm dersler