2016-06-13 136 views
0

爲了符合REST原則(HATEOAS)和HAL(specification,Internet-draft),應該如何響應一組鏈接?HAL - 僅包含鏈接的REST響應

在JSON主體的第一層沒有任何屬性,只有_links部分與自我鏈接和_embedded部分以及針對該特定請求的鏈接找到了嗎?

UPDATE:例

請求:http://localhost:5555/myservice/titles/meow/kittens

返回:

{ 
    "_links": { 
    "next": { 
     "href": "/myservice/titles/meow/kittens?page=2" 
    }, 
    "self": { 
     "href": "/myservice/titles/meow/kittens" 
    }, 
    "anchestor": { 
     "href": "/myservice/titles/meow" 
    } 
    }, 
    "_embedded": { 
    "linksINeed": [ 
     { 
     "title": "kitten play", 
     "_links": { 
      "self": { 
      "href": "/myservice/titles/kitten-play" 
      } 
     } 
     }, 
     ... 
     { 
     "title": "kitten eat", 
     "_links": { 
      "self": { 
      "href": "/myservice/titles/kitten-eat" 
      } 
     } 
     } 
    ] 
    } 
} 

這是有效REST FUL HAL JSON? 謝謝

+1

是的,只要您的下一個和自我鏈接與鏈接關係類型註冊表一致。 https://tools.ietf.org/html/rfc5988#section-6.2.2 – VoiceOfUnreason

回答

-1

一個空的JSON正文在返回一個具有0屬性的資源?這聽起來有點像沒有這些資源就可以完成。如果沒有屬性可以唯一標識該資源,那麼自我鏈接將包含什麼內容?即使你有屬性,但不會實例化它們,這將不起作用。

例如,如果它是根,那麼至少可以使用具有VersionNumber屬性的ApiVersion資源。

否則我想這可能是更可行的更喜歡的情況下,如刪除資源,並仍然提供鏈接到另一個(其前父?),雖然這可能值得只是一個HttpStatusCode 204無內容。

+0

我已經添加了一個例子來說明我的意思。謝謝 –

相關問題