Middle
Ресурска багытталган модель (ROM) эмне?
sobes.tech AI
AIден жооп
Ресурс-ориентированная модель (Resourse-Oriented Model) — ык подход к праектаванню API, дзе асноўныя сутнасці сістэмы прадстаўлены як рэсурсы, з якімі можна выконваць стандартныя аперацыі, такія як стварэнне, чытанне, абнаўленне і выдаленне (CRUD), выкарыстоўваючы стандартныя HTTP-метады.
Асноўныя прынцыпы:
- Рэсурсы: Асноўныя кампаненты сістэмы, якія маюць унікальны ідэнтыфікатар (URI). Мысалы, "карыстальнік", "заказ", "прадукт".
- Адзіны інтэрфейс: Выкарыстанне стандартных HTTP-метадаў (GET, POST, PUT, PATCH, DELETE) для выканання аперацый над рэсурсамі.
- Ідэнтыфікацыя рэсурсаў: Кожны рэсурс мае ўнікальны URI.
- Прадстаўленні (Representations): Рэсурсы могуць мець розныя прадстаўленні (напрыклад, JSON, XML), якія ўзгадняюцца паміж кліентам і серверам.
- Звязкі паміж рэсурсамі (Hypermedia): Рэсурсы могуць утрымліваць спасылкі на звязаныя рэсурсы, што дазваляе кліенту навігаваць па API.
Прыклад:
// Атрыманне спісу карыстальнікаў
GET /users
// Атрыманне канкрэтнага карыстальніка
GET /users/123
// Стварэнне новага карыстальніка
POST /users
Content-Type: application/json
{
"name": "Іван",
"email": "ivan@example.com"
}
// Абнаўленне карыстальніка
PUT /users/123
Content-Type: application/json
{
"name": "Іван Пятроў"
}
// Частковае абнаўленне карыстальніка
PATCH /users/123
Content-Type: application/json
{
"email": "ivan.petrov@example.com"
}
// Выдаленне карыстальніка
DELETE /users/123
Перавагі:
- Простата і стандартызацыя: Лёгка зразумець і выкарыстоўваць дзякуючы прымяненню стандартных вэб-тэхналогій.
- Масштабаванасць: Падыходзіць для пабудовы размеркаваных сістэм.
- Кэшаванне: Магчымасць кэшавання прадстаўленняў рэсурсаў для павышэння прадукцыйнасці.
- Незалежнасць кліента і сервера: Раздзяленне прадстаўлення дадзеных ад іх захоўвання і апрацоўкі.
Недахопы:
- Можа быць неэфектыўнай для выканання складаных аперацый, якія не ўкладваюцца ў CRUD.
- Не заўсёды падыходзіць для stateful-сэрвісаў.
ROM з'яўляецца асновай для пабудовы RESTful API.