0

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

1 回答 1

0

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

于 2013-05-21T09:41:18.273 回答