Sobes.tech
Junior

REST API nədir?

sobes.tech Süni İntellekt

AI-dan cavab

REST API, paylanmış sistemlər qurmaq üçün memarlıq tərzidir. REST-in əsas prinsipləri:

  • Statelessness: Müştəridən serverə hər bir sorğu, onu emal etmək üçün lazım olan bütün məlumatları içərməlidir. Server, sorğular arasında müştərinin vəziyyətini saxlamır.
  • Client-Server: Müştəri və server arasında aydın vəzifə bölünməsi. Müştəri sorğular göndərir, server onları emal edir.
  • Cacheable: Server, cavabların müştəri və ya vasitəçilər tərəfindən keşik edilə biləcəyini göstərməlidir.
  • Layered System: Müştəri, mütləq olaraq, son serverlə birbaşa əlaqə qurmaq məcburiyyətində deyil; o, vasitəçi qatlar (proxy, yük balanslaşdırıcılar) vasitəsilə əlaqə qura bilər.
  • Uniform Interface: Müştəri və server arasında tək və standartlaşdırılmış qarşılıqlı əlaqə üsulu. Bu prinsip aşağıdakıları əhatə edir:
    • Resources identification: Resurslar (məlumatlar) URL vasitəsilə tanınır.
    • Manipulation of resources through representations: Müştəri resurslarla qarşılıqlı əlaqə qurur, onların nümayişlərini (məsələn, JSON, XML) əldə edir və dəyişiklik üçün yeni nümayişlər göndərir.
    • Self-descriptive messages: Hər bir mesaj, onun necə işlənəcəyini anlamaq üçün kifayət qədər məlumat ehtiva edir.
    • HATEOAS (Hypertext As The Engine Of Application State): Resurslar, əlaqəli resurslara və mövcud əməliyyatlara keçidlər (hiperkeçidlər) içerməlidir.

REST API adətən resurslar üzərində əməliyyatlar həyata keçirmək üçün standart HTTP metodlarından istifadə edir:

  • GET: Resursu və ya resurs kolleksiyasını əldə etmək.
  • POST: Yeni resurs yaratmaq.
  • PUT: Mövcud resursun tam yenilənməsi.
  • PATCH: Mövcud resursun qismən yenilənməsi.
  • DELETE: Resursu silmək.

Resursun JSON nümayiş nümunəsi:

{
  "id": 1, // Tanımlayıcı
  "name": "Resource Name", // Resursun adı
  "description": "Detailed description of the resource." // Resursun təsviri
}

REST API testləri aşağıdakıları əhatə edir:

  • Funksionallıq (sorğulara düzgün cavabların verilməsi).
  • Xəta idarəetməsi.
  • Performans.
  • Təhlükəsizlik.
  • Sənədləşmə ilə uyğunluq.