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.