【问题标题】:URI for RESTful Web ServicesRESTful Web 服务的 URI
【发布时间】:2010-10-23 19:17:10
【问题描述】:

我试图了解 URI 的外观。查看此参考:http://en.wikipedia.org/wiki/Representational_State_Transfer#RESTful_web_services,我对 POST 应该如何工作感到有些困惑。

给出的例子是:http://example.com/resources/142。我将“142”关联为“资源”中的特定项目(因此,可以删除、更新或获取表示)。在创建集合的新成员的上下文中,“142”让我感到困惑。 142是什么意思?就数据库而言,那会是新成员的 id 吗? (我将这些与 CRUD 相关联)。

谁能澄清一下?

【问题讨论】:

    标签: web-services http rest


    【解决方案1】:

    我也不太确定我是否理解,但我知道,如果您向http://example.com/resources/142 发帖,您将 142 视为其本身就是一个集合,并将向该集合添加另一个项目。

    如果是 www.blog.com/blog/142

    142 可能是用户博客,而 POST 可能会创建新的博客帖子。

    PUT 到 142 将更新整个 142 或创建博客(如果它不存在)。

    【讨论】:

      【解决方案2】:

      这个例子可能很糟糕。在您的情况下,一个更好的例子是

      http://example.com/users/142

      在 REST 中,这与解释相同

      http://example.com/users?id=142

      只要在服务器端处理路由的最后一部分与 ID 相关联的事实。

      这两个都可以识别用户 142。但是,您通常不会将其与 POST 一起使用,因为 POST 用于创建,并且在大多数情况下,此时您不知道正在创建的用户的 ID。

      【讨论】:

        【解决方案3】:

        在您的示例中,我会将 142 视为资源名称。您的 POST 可能会使用自己的 id 创建新的“142”实例。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-04-14
          • 2023-03-23
          • 2010-09-07
          • 2016-12-28
          • 2013-01-14
          • 2011-03-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多