【发布时间】:2015-12-26 05:31:59
【问题描述】:
在设计 RESTful API 时,资源所有权是设计 URI 时的一个考虑因素。就我而言,我正在开发一个 API,其中我的两个实体将是人员和地址。每个人可以有多个地址,因此在数据库中它们将位于不同的表中。
通常我只使用自动递增键,所以每增加一条新记录都会增加 ID 号。
我的一个想法是,如果我使用这种方法,它会有效地生成这样的 URI:
/people/11/addresses/52
在这种情况下,person 11 没有 52 addresses。只是人 11,其地址的 ID 为 52。
另一方面是我是否会使用这样的 URI。地址通常不会由客户端自行检索,而是作为通过单个 API 调用检索的人员对象的一部分(/people/11 将检索与该人员关联的所有地址)。
无论如何,我想这里的问题是关于最佳实践的。是否经常看到另一个拥有类似 ID 值的实体?这方面的一般做法是什么?
【问题讨论】: