HAL
HAL (Hypertext Application Language) ist ein REST-Hypermedia-Format, das Verknüpfungen zwischen Ressourcen in JSON/XML über _links und _embedded ausdrückt.
Zweck
Einen Hypermedia-Link-Standard für REST-APIs bieten, sodass Clients Folgeschritte über Links entdecken können, was die API-Evolution entkoppelt.
Mechanismus
Ein Ressourcenobjekt enthält _links (eine rel-zu-{href,method,...}-Abbildung) und _embedded (eingebettete verwandte Ressourcen). Das rel eines Links identifiziert den Beziehungstyp, und Clients navigieren per rel statt per hartcodierter URL.
Anwendungsfälle
- REST-Hypermedia-APIs
- API-Selbstentdeckung
- Links zwischen Microservices