树结构的REST API样式

REST API style for tree structure

本文关键字:API 样式 REST 结构      更新时间:2023-09-26

我有树结构中的项。每个CCD_ 1具有CCD_ 2和CCD_。

为了通过Id获得Item,我使用items/:id

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

你宁愿问一个人"谁是你的孩子",也不愿问"谁让你做父母",不是吗?也就是说,我建议使用/items/{id}/children

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

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

您的API还可以支持按需嵌入儿童。类似http://foo/items/2?embedChildrenItem0标头中的不同媒体类型的内容可能会返回:

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

在这种情况下,包括children链路也是一个好主意。通过这种方式,您仍然可以将发布内容的孩子添加到该URL。