0

我想知道在 REST 中使用单数名称何时被认为是正确的(我的意思是,使用最佳实践),但更特别是当两个实体之间存在一对一映射时。

第一个例子,我们必须为客户管理忠诚度。客户可以使用 访问他的个人资料/me。此外,他有一个忠诚度帐户,其中显示有关忠诚度积分、折扣、解锁特定状态的下一个阈值的若干信息。你会设计这样的路径:

  • /me/fidelity_account,
  • /me/fidelity_accounts/mine- 我的最爱,
  • /me/my_fidelity_account,
  • /me/my_fidelity_accounts/mine,
  • /me/fidelity_accounts/{id},假设给出错误的 id 给出 403,
  • 或任何其他方式来设计?

第二个例子,我们必须为客户管理购物清单。一个客户可能有多个列表,但必须至少始终有一个称为“Internet Shopping List”的列表。此列表是唯一的,在其他列表中具有自己的 ID。网上购物清单有一个完全不同的模式。

我们对这个用例有几个想法:

  1. 为特定列表创建完全不同的路径,例如/me/shopping_lists/{id},但(单数)。/me/internet_shopping_list这是我最好的选择。
  2. 创建相同的路径,例如/me/shopping_lists/{id},但/me/shopping_lists/internet_shopping_list针对特定列表。
  3. 或者也许是另一种方式?
4

1 回答 1

0

我一直在思考这个问题,结果有一些答案比其他答案更好。假设用户提供了一个令牌来标识自己: - /me/fidelity_accounts/mine-mine这里将是 id 的别名。- /me/fidelity_accounts/{id}- 因此,{id}只有当帐户的 id 与用户提供的令牌相关时才能工作。- /me/fidelity_account- 不宁静,却是最简单的方式

于 2018-01-03T10:09:49.667 回答