Sobes.tech
Middle

Resursga yo'naltirilgan model (ROM) nima?

sobes.tech AI

AIdan javob

Resurslarga yo'naltirilgan model (Resourse-Oriented Model) — API dizayni uchun yondashuv bo'lib, unda tizimning asosiy ob'ektlari resurslar sifatida taqdim etiladi, ular bilan standart CRUD (yaratish, o'qish, yangilash, o'chirish) operatsiyalarini bajarish mumkin, standart HTTP metodlari yordamida.

Asosiy tamoyillar:

  • Resurslar: Tizimning asosiy komponentlari bo'lib, ularning yagona URI identifikatori mavjud. Masalan, "foydalanuvchi", "buyurtma", "mahsulot".
  • Birxillik interfeys: Resurslar ustida operatsiyalarni bajarish uchun standart HTTP metodlari (GET, POST, PUT, PATCH, DELETE) qo'llaniladi.
  • Resurslarni identifikatsiya qilish: Har bir resursning yagona URI'si bor.
  • Taqdimotlar: Resurslar turli taqdimotlarga ega bo'lishi mumkin (masalan, JSON, XML), ular mijoz va server o'rtasida kelishiladi.
  • Resurslar o'rtasidagi bog'lanishlar (Hypermedia): Resurslar bog'langan resurslarga havolalarni o'z ichiga olishi mumkin, bu esa mijozga API bo'ylab navigatsiya qilish imkonini beradi.

Misol:

// Foydalanuvchilar ro'yxatini olish
GET /users

// Aniq bir foydalanuvchini olish
GET /users/123

// Yangi foydalanuvchi yaratish
POST /users
Content-Type: application/json

{
  "name": "Ivan",
  "email": "ivan@example.com"
}

// Foydalanuvchini yangilash
PUT /users/123
Content-Type: application/json

{
  "name": "Ivan Petrov"
}

// Foydalanuvchini qisman yangilash
PATCH /users/123
Content-Type: application/json

{
  "email": "ivan.petrov@example.com"
}

// Foydalanuvchini o'chirish
DELETE /users/123

Afzalliklari:

  • Oddiylik va standartlashtirish: Standart web texnologiyalaridan foydalanish orqali tushunish va foydalanish oson.
  • Kengaytiriladiganlik: tarqatilgan tizimlarni qurish uchun mos.
  • Kesh qilish imkoniyati: Resurslarning taqdimotlarini kesh qilish imkoniyati bilan ishlashni yaxshilash.
  • Mijoz va server o'rtasida mustaqillik: Ma'lumotlarni taqdim etish va ularni saqlash va ishlashdan ajratish.

Kamchiliklari:

  • Murakkab operatsiyalar uchun samarali bo'lmasligi mumkin, ular CRUD ga mos kelmaydi.
  • Har doim holatga ega xizmatlar uchun mos emas.

ROM RESTful API qurilishining asosidir.