Sobes.tech
Middle

Čo je model orientovaný na zdroje (ROM)?

sobes.tech AI

Odpoveď od AI

Model orientovaný na zdroje (Resourse-Oriented Model) je prístup k návrhu API, kde sú hlavné entity systému reprezentované ako zdroje, s ktorými je možné vykonávať štandardné operácie ako vytváranie, čítanie, aktualizácia a mazanie (CRUD), pomocou štandardných metód HTTP.

Kľúčové princípy:

  • Zdroje: Hlavné komponenty systému, ktoré majú jedinečný identifikátor (URI). Napríklad, "používateľ", "objednávka", "produkt".
  • Jednotné rozhranie: Použitie štandardných metód HTTP (GET, POST, PUT, PATCH, DELETE) na operácie nad zdrojmi.
  • Identifikácia zdrojov: Každý zdroj má jedinečný URI.
  • Reprezentácie: Zdroje môžu mať rôzne reprezentácie (napríklad JSON, XML), ktoré sú dohodnuté medzi klientom a serverom.
  • Prepojenia medzi zdrojmi (Hypermedia): Zdroje môžu obsahovať odkazy na súvisiace zdroje, čo umožňuje klientovi navigáciu v API.

Príklad:

// Získať zoznam používateľov
GET /users

// Získať konkrétneho používateľa
GET /users/123

// Vytvoriť nového používateľa
POST /users
Content-Type: application/json

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

// Aktualizovať používateľa
PUT /users/123
Content-Type: application/json

{
  "name": "Ivan Petrov"
}

// Čiastočná aktualizácia používateľa
PATCH /users/123
Content-Type: application/json

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

// Vymazať používateľa
DELETE /users/123

Výhody:

  • Jednoduchosť a štandardizácia: Jednoduché na pochopenie a používanie vďaka používaniu štandardných webových technológií.
  • Škálovateľnosť: Vhodné na budovanie distribuovaných systémov.
  • Cacheovanie: Možnosť cacheovania reprezentácií zdrojov na zlepšenie výkonu.
  • Nezávislosť klienta a servera: Oddelenie prezentácie dát od ich ukladania a spracovania.

Nevýhody:

  • Môže byť neefektívne pre zložité operácie, ktoré sa nezmestia do CRUD.
  • Nie je vždy vhodné pre služby s stavom (stateful).

ROM je základom pre budovanie RESTful API.