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
}