2013-05-20 35 views
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 
} 

回答

0

常理應該推動在這裏。如果在您的商業模式中,用戶擁有唯一的電子郵件,那麼對我來說沒有任何缺點。

相關問題