当前位置: 首页 > 知识库问答 >
问题:

设计有重复数据的REST层次结构

柳墨一
2023-03-14

我们正在进行一场关于如何设计RESTendpoint的辩论。基本上可以归结为这个做作的例子。

假设我们有:

/netflix/movie/1/actors <- returns actors A, B and C
/netflix/movie/2/actors  <- returns actors A, D, and E

其中演员A是同一个演员。

/netflix/movie/1/actors/A
/netflix/movie/2/actors/A
/actors/A

这种分歧最终源于使用ember.js,它期望有一个特定的层次结构--不希望有多种方式来访问相同的数据(最终,这将真正导致少量的代码重复)。可以将ember.js映射为使用/actors/a,因此没有严格的技术限制,这实际上更多地是一个哲学问题。

我环顾四周,找不到任何关于这类事情的可靠建议。

共有1个答案

荀博
2023-03-14

从局外人的角度来看,我希望Movies/1/actor/A返回特定于该电影中该演员的信息,而我希望/actor/A返回关于该演员的一般信息。

通过类比,我希望projects/1/tasks/1/comments返回特定于任务的注释--通过其URL返回关系的最高级别。

我希望projects/1/comments返回与较低级别项目相关的注释,或者汇总来自该项目的所有注释。

 类似资料:
  • 我有这样的层次结构: 因此,用户可以添加他的工作经验。此外,他还可以为特定的项目添加角色。 我想为用户id 1获取项目,但项目之间只有关系 获取用户 获得工作经验 获取角色 获取项目 因此,如果我有更多不同工作经验的角色,我就必须提出20个请求才能得到我的项目。这不是很有效率吗?我必须加载一些不必要的数据。。。 是否可以只创建endpoint:并按用户ID过滤它? 应该如何在API上管理它?对我来

  • 注意中的复制。有没有办法避免这种复制?

  • 我想枢轴的数据帧像: 进入具有如下分层列的数据帧: 我尝试了,但它只会给我一个这样的框架: 如何更改列的层次结构?

  • 问题内容: 我们有一个表,该表表示与实体(称为项目)关联的值树,其中ParentID列引用行的父级的id列。id列是一个自动递增的IDENTITY列和主键。根节点的ParentID为0。 我们希望能够克隆给定项目的数据,并使生成的ParentID引用复制值的相应新ID,其方式应满足示例中所述的限制。 例如,在下表中复制ProjectID 611的数据: 应导致: 限制: 解决方案必须适用于 SQL

  • 问题内容: 我有一个包含分层数据的表。 列“ ParentId”保存其父级的ID(“ ID”-关键列)。 删除一行时,我要删除所有子级(所有级别的嵌套)。 怎么做? 谢谢 问题答案: 当行数不太大时,erikkallen的递归方法起作用。 这是使用临时表收集所有子项的替代方法: 它从带有@delete_id的行开始,然后从那里开始。where语句用于防止递归;如果您确定没有任何内容,则可以将其忽略

  • 我正在构建一个REST api,以提供对此资源和子资源的访问,如和。 这是我提出的URI: /customers/{id}/relationship-返回上述资源 /customers/{id}/relationships/accounts-返回子资源 /customers/{id}/relationships/profiles-返回子资源