HAL - 仅带链接的RESTful响应

时间:2016-06-13 15:00:17

标签: rest hateoas hal-json

为了遵守REST原则(HATEOAS)和HAL(specification, Internet-draft),如何响应一组链接?

在JSON主体的第一级没有属性并且只有带有自身链接的_links部分和带有为该特定请求找到的链接的_embedded部分是否可以?

更新:示例

请求: 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 个答案:

答案 0 :(得分:-1)

返回具有0个属性的资源时的空JSON主体?听起来有点像你可以完全没有这个资源。如果没有可以唯一标识该资源的属性,那么自我链接会包含什么?即使您拥有属性但不会实例化它们,这也行不通。

如果它是根,你至少可以拥有类似具有VersionNumber属性的ApiVersion资源。

否则我想在更奇特的场景中可能是可行的,例如删除资源并仍然提供到另一个(它的前父级?)的链接,尽管这可能只是一个HttpStatusCode 204 No Content。