【问题标题】:REST resource naming for an unique resource唯一资源的 REST 资源命名
【发布时间】:2019-07-01 18:04:37
【问题描述】:

我有一个资源,它基本上是当前(经过身份验证的)用户可以访问的所有东西的集合。我们就叫它Workspace吧。

鉴于每个用户始终只有一个 Workspace

我应该应用“复数”约定吗?如果是,我应该创建一个虚假的子资源来表示它是唯一的吗?

换句话说,我应该使用:

  • /workspace -> 当前用户工作区

或者

  • /workspaces/~ -> 当前用户工作区
  • /workspaces -> 404

从用户的角度来看,拥有一个独特的/workspace 资源是有意义的。 但是从系统的角度来看,有很多工作区,但每个用户只有一个,所以/workspaces/~ 看起来更合乎逻辑。

【问题讨论】:

    标签: rest naming-conventions


    【解决方案1】:

    这里没有任何硬性规定。我会说使用对您的最终用户有意义的任何东西,并且最好与您在其他地方所做的一致。

    例如,根据您网站的运作方式,您会想到其他一些地址。如果工作空间与用户相关联,那么将其放在/users/{id}/workspaces 地址下可能是有意义的。也许这对你的情况没有意义。因此,在您提供的选项中,我会说如果客户很明显应该有多个工作区但他们只能访问一个,那么/workspaces/{id} 地址将适合该模型。如果他们认为工作空间是一个独特的实体,那么使用复数地址可能会造成混淆。

    在我自己的设计中,我倾向于将复数用于所有内容。

    【讨论】:

      猜你喜欢
      • 2017-03-12
      • 2016-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      相关资源
      最近更新 更多