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

REST和嵌套资源

林涵映
2023-03-14

假设我有两种资源:手推车和物品。项目可以嵌套在购物车内,也可以不嵌套在购物车内:

/carts/32658/items/screwdriver

/items/screwdriver

在REST约定中,购物车中的同一项目和购物车中的同一项目是不同的资源吗?

共有2个答案

汝志
2023-03-14

如果您谈论的是相同的螺丝刀,那么它们是相同的资源。一个资源可能有多个URL。在这种情况下,其中一个被选择为官方URL,称为Canonical URL。官方螺丝刀URL可能是/条目/螺丝刀,客户端可能会获得有关它的完整信息。

陈宏胜
2023-03-14

正如其他答案和评论所建议的,当一个资源和不同来源有多个URI时,没有REST违规,SO答案是这样说的。

服务套件中的每个资源将至少有一个URI来标识它。

但如果您允许在第二个资源链接上使用所有HTTP方法,我会重新考虑。考虑到手推车/32658/物品/螺丝刀,允许放置可能不太好,因为客户可能认为他们只会在手推车32658中更换螺丝刀,而不是全球螺丝刀供应商实体。

 类似资料:
  • 我正在努力理解如何在REST中处理嵌套资源。 例如,如果我有一个名为cities的表,另一个名为companies的表具有外键约束(某个城市中存在一家公司),那么当有人获得一个城市时,我是否也应该发送该城市中所有公司的列表?如果是这样,如果他们在特定城市(城市/55)上放置,并且存在嵌套的公司集合,我是否也会更新嵌套的公司? 或者删除怎么样?我是逐级删除一个城市中的所有公司,还是只是暂时将他们所在

  • 当访问下面的URL时,我会得到相应的分页 但是,当访问以下URL时,Spring Data REST没有开箱即用的分页- UserRepository和UserPostRepository都是带有分页的JPA存储库。结果,第二个URL抛出GC开销超出错误,因为返回结果的行数非常大。 有没有办法用第二个URL进行分页?

  • 我想像下面这样嵌套资源。 但我不能得到请求。团队中的params[“dashboard_id”]参数,因为它似乎已被参数值替换。我试图通过调用一个中间函数来传递问题,并将参数传递到某个地方,但我不知道在哪里…你有答案吗?谢谢,佛朗哥

  • 以公司的rest表示为例。在这个假设的例子中,每个公司拥有0个或更多的部门,每个部门拥有0个或更多的员工。 一个部门不能没有关联公司。 没有关联部门,员工就无法存在。 null 但是,如果我想列出()所有公司的所有员工,我的困难就来了。 其资源模式将最紧密地映射到(所有员工的集合) 这是否意味着我应该有,因为如果有的话,那么有两个URI可以获得相同的资源? 在基本级别上,返回与嵌套最深的模式完全相

  • 我按照http://spring.io/guides/gs/consulting-rest/使用rest服务。本教程只提到一个单层JSON文件。但是,我希望解析一个json 当我通过spring-boot run运行该命令时,我在命令行中得到以下结果: 有什么我没看到的吗?

  • 问题内容: 我现在正面临 Django Rest Framework的 一个小问题。我正在尝试发布一个带有嵌套对象的对象。 这是我的: 而来自: 这是 邮递员 的回复: 我在这里阅读了一些有关此问题的文章,但我仍然坚持下去。我已尝试通过多种方式对其进行修复,但仍在恢复中。 问题答案: 您正在处理 嵌套序列化 的问题。在继续之前,请阅读链接的文档。 您的问题涉及DRF中的复杂问题,因此需要进行一些解