REST Nedir?

Web geliştirme ile ilgili konuları burada bulabilirsiniz
Cevapla
Kullanıcı avatarı
melihcelenk
Site Admin
Mesajlar: 212
Kayıt: 05 Eki 2021, 03:23

REST Nedir?

Mesaj gönderen melihcelenk »

REpresentational State Transfer
  • State veri anlamına gelir,
  • REpresentational format anlamına gelir. (xml, json, yaml, html vb.)
  • Transfer, istemciyle sağlayıcı arasında HTTP protokolü ile veri taşınması anlamına gelir.
Bir web sunucusunda bulunan REST API, veri tabanı ile istemciler arasında köprü görevi görür. Veriler HTTP istekleri ve cevapları ile JSON ya da XML formatında taşınabilir.

REST tabanlı bir sistemde "resource" denen yapılar vardır. Bir öğrenci yönetim sistemi için resource'lar Öğrenci, Öğretmen, Sınıf, Ders şeklinde olabilir.

URI - Uniform Resource Identifier:
Bir blog uygulamasında URI'lar aşağıdaki gibi olabilir:
GET - http://localhost:8080/api/posts/ - Bütün gönderileri döndürür
GET - http://localhost:8080/api/posts/2 - ID'si 2 olan gönderiyi döndürür
POST - http://localhost:8080/api/posts/ - Yeni bir gönderi resource'u oluşturur
PUT - http://localhost:8080/api/posts/2 - ID'si 2 olan gönderiyi günceller
DELETE - http://localhost:8080/api/posts/2 - ID'si 2 olan gönderiyi siler
Görüldüğü gibi aynı yola sahip URI'lar farklı metotlar ile kullanıldığında farklı işlevler görür.

HTTP Status (Durum) Kodları
  • 200 OK: Request (istek) başarılı ve response (cevap) istemciye uygun olarak döndü.
  • 201 Created: İstek başarılı ve yeni bir resource oluşturuldu.
  • 400 Bad Request: Sunucu isteği işlemede hatalı biçimlendirilmiş sözdizimi (syntax) nedeniyle başarısız oldu. İstemci isteği düzelterek tekrar deneyebilir.
  • 401 Unauthorized: Resource için kimlik doğrulama gerekli. İstemci uygun bir kimlik doğrulama ile tekrar deneyebilir.
  • 403 Forbidden: İstek geçerli olsa da sunucu cevap vermeyi reddediyor. Sebep eğer istek HEAD metodu ile gönderilmediyse gövde içeriğinde (body content) görülecektir.
  • 404 Not Found: İstenen resource istekte belirtilen konumda bulunamadı.
  • 500 Internal Server Error: Sunucuda beklenmeyen bir hata meydana geldiğinden istek yerine getirilemez.
Cevapla