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