允许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
}
答案 0 :(得分:0)
常识应该在这里开车。如果在您的商业模式中用户拥有唯一的电子邮件,那么对我来说没有任何缺点。