HAL
HAL (Hypertext Application Language) es un formato hipermedia para REST que expresa enlaces entre recursos en JSON/XML mediante _links y _embedded.
Propósito
Proporcionar un estándar de enlaces hipermedia para APIs REST, de modo que los clientes descubran acciones siguientes mediante enlaces, desacoplando la evolución de la API.
Mecanismo
Un objeto recurso contiene _links (un mapeo de rel a {href,method,...}) y _embedded (recursos relacionados incrustados). El rel de un enlace identifica el tipo de relación, y los clientes navegan por rel en lugar de URLs codificadas.
Casos de uso
- APIs hipermedia REST
- Autodescubrimiento de APIs
- Enlaces entre microservicios