HAL
HAL (Hypertext Application Language) est un format hypermédia pour REST qui exprime les liens entre ressources en JSON/XML via _links et _embedded.
Objectif
Fournir un standard de liens hypermédia pour les API REST afin que les clients découvrent les actions suivantes via les liens, découplant l'évolution de l'API.
Mécanisme
Un objet ressource contient _links (une association de rel vers {href,method,...}) et _embedded (ressources liées intégrées). Le rel d'un lien identifie le type de relation, et les clients naviguent par rel plutôt que par des URLs codées en dur.
Cas d’usage
- API REST hypermédia
- Auto-découverte d'API
- Liens entre microservices