RESTful API设计:合理地接受唯一标识符而不是资源URI?

时间:2013-05-20 10:49:39

标签: api rest hypermedia

允许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
}

1 个答案:

答案 0 :(得分:0)

常识应该在这里开车。如果在您的商业模式中用户拥有唯一的电子邮件,那么对我来说没有任何缺点。

相关问题