2013-05-08 181 views
3

我目前正在弄清楚如何構建我們的REST web服務,以便在創建時可以將資源鏈接到其他資源。採取以下方案。REST:如何在創建新資源時傳遞相關資源?

我們/user/123/誰在/user/123/

當我想添加一個新用戶到公司456我執行POST/company/456/users/將其添加到這個集合坐鎮集合中/company/456/users/,並在全球的用戶集合。但是,如果用戶資源不僅僅取決於公司,該怎麼辦?比方說,用戶資源也跟蹤用戶的地址信息,因此它也可能取決於/country/12/資源。我如何將國家的依賴關係傳遞給REST Web服務。我應該在POST請求的有效負載中傳遞一個country_id嗎?

什麼被認爲是RESTful方法管理其他資源鏈接的最佳做法?

回答

1

嗯...張貼到/company/456/users/不看我的權利...... 什麼張貼到/users,甚至更好的/user/{newid}

從那裏,你可以創建一個用戶,也可以在另一個時刻添加鏈接,或者你可以指定所有的鏈接爲url編碼參數(或在有效載荷中,但我更喜歡前者...它只是看起來更清潔給我,不過這只是我的個人意見):

POST /users?company_id=456&county_id=12

POST /users?company_id=456

POST /users