REST API temelleri
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
-
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. -
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
-
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.