Sobes.tech
Middle

Co je to model orientovaný na zdroje (ROM)?

sobes.tech AI

Odpověď od AI

Model orientovaný na zdroje (Resourse-Oriented Model) je přístup k návrhu API, kde jsou hlavní entity systému reprezentovány jako zdroje, se kterými lze provádět standardní operace, jako je vytváření, čtení, aktualizace a mazání (CRUD), pomocí standardních metod HTTP.

Klíčové principy:

  • Zdroje: Hlavní komponenty systému, které mají jedinečný identifikátor (URI). Například "uživatel", "objednávka", "produkt".
  • Jednotné rozhraní: Použití standardních metod HTTP (GET, POST, PUT, PATCH, DELETE) pro operace nad zdroji.
  • Identifikace zdrojů: Každý zdroj má jedinečný URI.
  • Reprezentace: Zdroje mohou mít různé reprezentace (například JSON, XML), které jsou dohodnuty mezi klientem a serverem.
  • Hypermedia (vazby mezi zdroji): Zdroje mohou obsahovat odkazy na související zdroje, což umožňuje klientovi navigaci v API.

Příklad:

// Získat seznam uživatelů
GET /users

// Získat konkrétního uživatele
GET /users/123

// Vytvořit nového uživatele
POST /users
Content-Type: application/json

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

// Aktualizovat uživatele
PUT /users/123
Content-Type: application/json

{
  "name": "Ivan Petrov"
}

// Částečná aktualizace uživatele
PATCH /users/123
Content-Type: application/json

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

// Smazat uživatele
DELETE /users/123

Výhody:

  • Jednoduchost a standardizace: Snadno pochopitelné a použitelné díky použití standardních webových technologií.
  • Škálovatelnost: Vhodné pro budování distribuovaných systémů.
  • Kešování: Možnost kešování reprezentací zdrojů pro zlepšení výkonu.
  • Nezávislost klienta a serveru: Oddělení prezentace dat od jejich ukládání a zpracování.

Nevýhody:

  • Může být neefektivní pro složité operace, které nezapadají do CRUD.
  • Není vždy vhodné pro služby s stavem (stateful).

ROM je základem pro budování RESTful API.