树结构的REST API样式

时间:2015-11-14 11:38:30

标签: javascript rest web

我有树状结构的项目。每个Item都有IdParentId

Item Id,我使用items/:id

GetItemsByParentId(parentId)方法创建端点的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

你宁愿问一个人"谁是你的孩子"而且#34;谁让你作为父母",不是吗?这就是说我建议使用/items/{id}/children

在这种情况下,从服务器获得的响应通常包含相应的链接:

{
  links: {
    self: "http://foo/items/2",
    children: "http://foo/items/2/children"
  },
  ...
}

您的API还可以支持按需嵌入儿童。然后,http://foo/items/2?embedChildren标题中的Accept或其他媒体类型会返回:

{
  links: {
    self: "http://foo/items/2",
    children: "http://foo/items/2/children"
  }
  children: [
   ...
  ],
  ... 
} 

在这种情况下包括children链接也是个好主意。这样,您仍然可以添加发布到该URL的子项。