Middle
Resurs yönümlü model (ROM) nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Resurslara Yönəlik Model (Resourse-Oriented Model) API dizaynına yanaşmadır ki, burada sistemin əsas varlıqları resurslar kimi təqdim olunur və onlarla standart əməliyyatlar, yəni yaradılması, oxunması, yenilənməsi və silinməsi (CRUD), standart HTTP metodları ilə həyata keçirilir.
Əsas prinsiplər:
- Resurslar: Sistemə aid əsas komponentlər, unikal identifikator (URI) ilə təmsil olunur. Məsələn, "istifadəçi", "sifariş", "məhsul".
- Birləşmiş interfeys: Resurslar üzərində əməliyyatlar üçün standart HTTP metodlarından (GET, POST, PUT, PATCH, DELETE) istifadə olunur.
- Resursların identifikasiyası: Hər resursun unikal URI-si var.
- Təqdimatlar: Resurslar müxtəlif təqdimatlara malik ola bilər (məsələn, JSON, XML), bunlar müştəri və server arasında razılaşdırılır.
- Resurslar arasındakı əlaqələr (Hypermedia): Resurslar əlaqəli resurslara linklər ehtiva edə bilər, bu da müştərinin API-də naviqasiya etməsinə imkan verir.
Nümunə:
// İstifadəçi siyahısını əldə et
GET /users
// Müəyyən bir istifadəçini əldə et
GET /users/123
// Yeni istifadəçi yaradın
POST /users
Content-Type: application/json
{
"name": "Ivan",
"email": "ivan@example.com"
}
// İstifadəçini yeniləyin
PUT /users/123
Content-Type: application/json
{
"name": "Ivan Petrov"
}
// İstifadəçinin qismən yenilənməsi
PATCH /users/123
Content-Type: application/json
{
"email": "ivan.petrov@example.com"
}
// İstifadəçini sil
DELETE /users/123
Üstünlüklər:
- Sadəlik və standartlaşma: Standart veb texnologiyalarından istifadə etməklə asan başa düşülür və istifadə olunur.
- Ölçeklenebilirlik: Paylanmış sistemlərin qurulması üçün uyğundur.
- Keşləmə: Resursların təqdimatlarının keşlənməsi performansı artırır.
- Müştəri və serverdən müstəqillik: Məlumatların təqdimatı ilə onların saxlanması və işlənməsindən ayrıdır.
Çatışmazlıqları:
- CRUD-ə uyğun olmayan mürəkkəb əməliyyatlar üçün effektiv olmaya bilər.
- Hər zaman vəziyyətli (stateful) xidmətlər üçün uyğun deyil.
ROM RESTful API-lərin qurulması üçün əsasdır.