Vysvetlite princíp HATEOAS.
sobes.tech AI
Odpoveď od AI
HATEOAS (Hypermedia ako Motor Stavu Aplikácie) je obmedzenie architektúry REST, ktoré stanovuje, že klient komunikuje s REST službou výlučne prostredníctvom hypermedíí poskytovaných serverom v odpovediach.
Namiesto toho, aby poznal URI všetkých zdrojov a akcií vopred, klient tieto informácie dostáva vo forme odkazov a formulárov vložených do reprezentácií zdrojov.
Kľúčové aspekty:
- Samozrejme popisujúce správy: Každá správa odoslaná klientovi, okrem dát, obsahuje odkazy na súvisiace zdroje a dostupné akcie.
- Nie je potrebné poznať URI vopred: Klient sleduje hypermedá, aby sa pohyboval v API a vykonával akcie. Pozná iba počiatočný bod.
- Vylepšená evolúcia: Server môže meniť URI zdrojov bez zmeny logiky klienta, pokiaľ stále poskytuje príslušné hypermedá.
- Zníženie väzby klient-server: Klient je menej závislý od vnútornej štruktúry servera.
Príklad reprezentácie zdroja s HATEOAS:
{
"orderId": "123",
"status": "Pending",
"items": [
{
"itemId": "A45",
"quantity": 2
}
],
"_links": {
"self": {
"href": "/orders/123"
},
"cancel": {
"href": "/orders/123/cancel",
"method": "POST" // Určuje typ akcie
},
"customer": {
"href": "/customers/C99"
}
}
}
Tu, _links obsahuje URI pre samotný zdroj, možnosť zrušiť objednávku a súvisiaceho zákazníka. Klient, ktorý dostane túto reprezentáciu, vie, ako vykonať tieto akcie, bez toho, aby mali URI "zakódované" v jeho kóde.
HATEOAS je kľúčovým princípom REST, avšak jeho úplná a dôsledná aplikácia môže byť v praxi náročná.