Sobes.tech
Middle+

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á.