Junior
REST nədir?
sobes.tech Süni İntellekt
AI-dan cavab
REST (Vəkillik Hərracının Təmsilatı) paylanmış sistemlərin qurulması üçün istifadə olunan memarlıq tərzidir və əsasən veb xidməti dizaynında istifadə olunur. Bu, veb resurslarının bir-biri ilə necə qarşılıqlı əlaqədə olduğunu müəyyən edən prinsiplər və məhdudiyyətlər toplusuna əsaslanır.
REST-in əsas prinsipləri:
- Müştəri-server: Müştəri və server arasında aydın vəzifə bölgüsü.
- Stateless (vəziqsiz): Server, müştərinin vəziyyəti haqqında məlumatı saxlamır. Hər bir sorğu işlənməsi üçün lazım olan bütün məlumatları ehtiva edir.
- Cacheable (keşlənə bilən): Müştərilər, performansı artırmaq üçün serverin cavablarını keşləyə bilərlər. Server, cavabın keşlənə biləcəyini açıq şəkildə göstərir.
- Qatlı sistem: Müştəri, aralıq qat ilə (məsələn, proxy, yük balanslaşdırıcı) qarşılıqlı əlaqə qura bilər, bunu bilmədən.
- Tələb üzərində kod (istəyə bağlı): Server, icra olunan kodu (məsələn, JavaScript) müştəriyə göndərə bilər, bu da müştərinin funksionallığını genişləndirir.
- Birləşmiş interfeys: ən vacib prinsipdir və aşağıdakı məhdudiyyətləri əhatə edir:
- Resursların identifikasiyası (URI).
- Resursların təmsilatı vasitəsilə manipulyasiya (müəyyən formatda məlumat mübadiləsi, məsələn, JSON, XML).
- Öz-özünü açıqlayan mesajlar (mesajlar, onların anlaşılması üçün bütün lazımi məlumatları ehtiva edir).
- HATEOAS (Hypermedia as the Engine of Application State): Müştəri, serverin cavablarındakı hiperkeçidlərdən istifadə edərək tətbiq vəziyyətləri arasında keçid edir.
RESTful API, veb xidməti üçün REST tərzinin tətbiqidir və resurslarla işləmək üçün standart HTTP metodlarından (GET, POST, PUT, DELETE) istifadə edir.
// RESTful API-də HTTP metodlarının istifadəsi nümunəsi
// Resursu əldə et
// GET /api/products/1
// Resursu yaradın
// POST /api/products
// Bədən: { "name": "Yeni Məhsul", "price": 10.50 }
// Resursu yeniləyin
// PUT /api/products/1
// Bədən: { "name": "Yenilənmiş Məhsul", "price": 11.00 }
// Resursu sil
// DELETE /api/products/1