34
HATEOAS(超媒体作为应用程序状态的引擎)和HAL(超文本应用程序语言)似乎是相关的,但并不完全相同。 HATEOAS和HAL有什么关系和区别?HAL和HATEOAS的关系和区别
HATEOAS(超媒体作为应用程序状态的引擎)和HAL(超文本应用程序语言)似乎是相关的,但并不完全相同。 HATEOAS和HAL有什么关系和区别?HAL和HATEOAS的关系和区别
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。
除了HAL,您了解的标准是什么? – 2014-09-14 08:04:45
还有[collection + json](http://amundsen.com/media-types/collection/examples/)和至少[couple](http://www.markus-lanthaler.com/hydra/)的[其他](https://github.com/kevinswiber/siren) – astreltsov 2014-09-14 12:38:22
http://jsonapi.org – Shaolin 2017-06-30 00:30:46