HAL - 仅包含链接的REST响应
问题描述:
为了符合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? 谢谢
答
一个空的JSON正文在返回一个具有0属性的资源?这听起来有点像没有这些资源就可以完成。如果没有属性可以唯一标识该资源,那么自我链接将包含什么内容?即使你有属性,但不会实例化它们,这将不起作用。
例如,如果它是根,那么至少可以使用具有VersionNumber属性的ApiVersion资源。
否则我想这可能是更可行的更喜欢的情况下,如删除资源,并仍然提供链接到另一个(其前父?),虽然这可能值得只是一个HttpStatusCode 204无内容。
+0
我已经添加了一个例子来说明我的意思。谢谢 –
是的,只要您的下一个和自我链接与链接关系类型注册表一致。 https://tools.ietf.org/html/rfc5988#section-6.2.2 – VoiceOfUnreason