0
允许RESTful API接受带有到另一个资源的隐式链接的表示是否存在缺点?RESTful API设计:合理接受唯一标识符而不是资源URI?
为了说明这一点,采取我有两个资源:
GET /people/:id
GET /houses/:id
一个人有除了id
一个唯一的标识符,这是他们email
。
允许以下交互是否存在缺点?
POST /houses
{
"_links": {
"owner": {
"email": "[email protected]"
}
},
"street_number": 20
}
服务器知道,电子邮件域是唯一的,因此可以用来识别people
资源。它会为该人创建一个关联。
原因允许这将使它更容易在API客户端,他们不必先查找资源的URI。
相比之下,我肯定会允许这种类型的呼叫:
POST /houses
{
"_links": {
"owner": {
"href": "/people/3"
}
},
"street_number": 20
}