Beziehung und Unterschied zwischen HAL und HATEOAS

77

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?

Lee Chee Kiam
quelle

Antworten:

97

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.

astreltsov
quelle
5
Welche Standards kennen Sie neben HAL?
Lee Chee Kiam
16
Es gibt Sammlung + json und mindestens ein Paar von anderen
astreltsov
3
Es gibt auch Sammlung + JSON , JSON-LD und die Verwendung von Link-Headern .
RAM