【问题标题】:RESTful API design: reasonable to accept unique identifiers rather than resource URIs?RESTful API 设计:接受唯一标识符而不是资源 URI 是否合理?
【发布时间】:2013-05-14 21:56:10
【问题描述】:

允许 RESTful API 接受带有指向另一个资源的隐式链接的表示是否有缺点?

为了说明这一点,假设我有两个资源:

GET /people/:id
GET /houses/:id

除了id,一个人还有一个唯一标识符,即他们的email

允许以下交互是否有缺点?

POST /houses
{
    "_links": {
        "owner": {
            "email": "example@example.com"
        }
    },
    "street_number": 20
}

服务器知道电子邮件字段是唯一的,因此可以用来识别people 资源。它将创建与该人的关联。

允许这样做的原因是为了让 API 客户端更容易,他们不必先查找资源的 URI。

相比之下,我当然会允许这种类型的调用:

POST /houses
{
    "_links": {
        "owner": {
            "href": "/people/3"
        }
    },
    "street_number": 20
}

【问题讨论】:

    标签: api rest hypermedia


    【解决方案1】:

    常识应该在这里驱动。如果在您的业务模型中,用户拥有唯一的电子邮件,那对我来说没有缺点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-19
      • 1970-01-01
      相关资源
      最近更新 更多