2014-09-13 92 views

回答

47

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。

+1

除了HAL,您瞭解的標準是什麼? – 2014-09-14 08:04:45

+10

還有[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

+1

http://jsonapi.org – Shaolin 2017-06-30 00:30:46