HAL与HATEOAS之间的关系和差异


77

HATEOAS(作为应用程序状态引擎的超媒体)和HAL(超文本应用程序语言)似乎相关,但并不完全相同。HATEOAS与HAL有什么关系和区别?

Answers:


97

HATEOAS是应用程序体系结构的概念。它通过浏览应用程序客户端在服务器返回的资源模型中找到的超媒体链接来定义应用程序客户端与服务器交互的方式。

实现HATEOAS,您需要某种表示资源的标准方法,该方法将包含超媒体信息(指向相关资源的链接),例如,如下所示:

{
    "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是这样的标准之一。它是资源表示的一种特殊格式,可用于实现HATEOAS。

如果您愿意遵循其他标准或使用自己的标准,则可以完全实施HATEOAS,而无需完全遵循HAL。


5
除了HAL之外,您还了解哪些标准?
Lee Chee Kiam

16
收藏+ JSON和至少一对夫妇
astreltsov

3
还有collection + JSONJSON-LD链接标头的使用。
RAM
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.