HATEOAS (Hypermedia als Engine des Anwendungsstatus) und HAL (Hypertext Application Language) scheinen verwandt zu sein, sind aber nicht genau gleich. Welche Beziehung und welchen Unterschied besteht zwischen HATEOAS und HAL?
Antworten:
HATEOAS ist ein Konzept der Anwendungsarchitektur . Es definiert die Art und Weise, in der Anwendungsclients mit dem Server interagieren, indem sie über Hypermedia-Links navigieren, die sie in vom Server zurückgegebenen Ressourcenmodellen finden.
Um HATEOAS zu implementieren, benötigen Sie eine Standardmethode zur Darstellung von Ressourcen, die Hypermedia-Informationen (Links zu verwandten Ressourcen) enthält, z. B.:
{
"links": {
"self": { "href": "http://api.com/items" },
"item": [
{ "href": "http://api.com/items/1" },
{ "href": "http://api.com/items/2" }
]
},
"data": [
{ "itemName": "a" },
{ "itemName": "b" }
]
}
HAL ist einer dieser Standards. Es ist ein spezifisches Format der Ressourcenpräsentation, mit dem HATEOAS implementiert werden kann.
Sie können HATEOAS vollständig implementieren, ohne HAL zu folgen, wenn Sie einem anderen Standard folgen oder Ihren eigenen verwenden möchten.