Sobes.tech
Junior

REST API nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

REST API, dağıtık sistemler inşa etmek için kullanılan bir mimari tarzıdır. REST'in temel ilkeleri:

  • Durumsuzluk: Müşteriden sunucuya yapılan her isteğin, işlemi gerçekleştirmek için gerekli tüm bilgileri içermesi gerekir. Sunucu, istekler arasında müşteri durumu tutmaz.
  • İstemci-Sunucu: İstemci ve sunucu arasında net bir sorumluluk ayrımı vardır. İstemci istekleri gönderir, sunucu bunları işler.
  • Önbelleğe alınabilirlik: Sunucu, yanıtların istemci veya ara katmanlar tarafından önbelleğe alınabilir olup olmadığını belirtmelidir.
  • Katmanlı Sistem: İstemci, son sunucu ile doğrudan etkileşime geçmek zorunda değildir; ara katmanlar (proxy, yük dengeleyiciler) aracılığıyla etkileşime geçebilir.
  • Bütünleşik Arayüz: İstemci ve sunucu arasındaki etkileşimin tek ve standart bir yolu. Bu ilke şunları içerir:
    • Kaynakların Tanımlanması: Kaynaklar (veriler) URL ile tanımlanır.
    • Temsiller aracılığıyla kaynakların Manipülasyonu: İstemci, kaynaklarla etkileşime geçerken, onların temsillerini (örneğin, JSON, XML) alır ve değişiklik yapmak için yeni temsiller gönderir.
    • Kendini Açıklayan Mesajlar: Her mesaj, nasıl işleneceğini anlamak için yeterli bilgiyi içerir.
    • HATEOAS (Hypertext As The Engine Of Application State): Kaynaklar, ilişkili kaynaklara ve erişilebilir işlemlere bağlantılar (hiperbağlantılar) içermelidir.

REST API genellikle kaynaklar üzerinde işlemler yapmak için standart HTTP yöntemlerini kullanır:

  • GET: Bir kaynak veya kaynak koleksiyonu almak.
  • POST: Yeni bir kaynak oluşturmak.
  • PUT: Mevcut bir kaynağın tam güncellenmesi.
  • PATCH: Mevcut bir kaynağın kısmi güncellenmesi.
  • DELETE: Bir kaynağı silmek.

Bir kaynak için JSON temsili örneği:

{
  "id": 1, // Tanımlayıcı
  "name": "Resource Name", // Kaynak adı
  "description": "Detailed description of the resource." // Kaynak açıklaması
}

REST API testleri şunları içerir:

  • İşlevsellik (isteklere verilen yanıtların doğruluğu).
  • Hata yönetimi.
  • Performans.
  • Güvenlik.
  • Belgelendirmeye uygunluk.