2016-06-13 138 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

我已经添加了一个例子来说明我的意思。谢谢 –

相关问题