【问题标题】:Unique identifiers for each resource in RESTful API?RESTful API 中每个资源的唯一标识符?
【发布时间】:2011-10-17 21:01:11
【问题描述】:

在支持多个帐户的理想 RESTful API 中,每个资源是否应该在整个系统中具有其唯一标识符,或者该标识符对于它所属的特定帐户是唯一的。

每种方案是否有任何优点缺点

举个例子。

根据 REST 原则,这会很好吗?

http://api.example.com/account/1/users/1
...
http://api.example.com/account/50/users/1

或者会推荐这种方法吗?

http://api.example.com/account/1/users/{UNIQUE_IDENTIFIER}
...
http://api.example.com/account/50/users/{ANOTHER_UNIQUE_IDENTIFIER}

【问题讨论】:

    标签: api rest


    【解决方案1】:

    您通过始终将第一个用户设为 1 来显示有效的用户编号。然后有人知道任何帐户也将有一个用户 1。我并不是说您应该仅仅通过默默无闻来隐藏用户 ID,但为什么要让它容易有人在另一个帐户中查找用户 ID?

    【讨论】:

      【解决方案2】:

      真正重要的是每个资源都有一个唯一的标识符。您的两个示例都实现了这一点,因此您似乎还可以(从 REST 角度来说)

      我没有看到任何令人信服的理由来使用其中一个。我会选择对你的实施更有意义的东西。

      【讨论】:

        【解决方案3】:

        因为,从使用您的 REST API 的外部系统的角度来看,整个地址应该被视为该资源对象的“标识符”,所以您的第一个示例很好。

        【讨论】:

          猜你喜欢
          • 2013-02-19
          • 2013-05-14
          • 1970-01-01
          • 2013-12-01
          • 1970-01-01
          • 2018-07-10
          • 1970-01-01
          • 2023-01-26
          • 2012-03-16
          相关资源
          最近更新 更多