HATEOAS

Architecture 🔴 Senior

Definition

Hypermedia As The Engine Of Application State. Niveau 3 de Richardson : les reponses contiennent des liens vers les actions possibles, rendant l'API auto-decouvrable.

Analogie

Un site web : chaque page contient des liens vers les pages suivantes — tu n'as pas besoin de deviner les URLs.

Exemple de code

{
  "id": 42, "name": "Alice",
  "_links": {
    "self": { "href": "/users/42" },
    "orders": { "href": "/users/42/orders" },
    "delete": { "href": "/users/42", "method": "DELETE" }
  }
}

Cas d'usage

APIs publiques auto-documentees ou le client n'a pas besoin de hardcoder les URLs.

Anti-pattern

Client qui hardcode toutes les URLs au lieu de suivre les liens — fragile au changement.
#architecture#interview#api