我有一個名爲user的資源和一個名爲images的子資源。要訪問特定圖像,唯一的方法是使用URL:/ users/{userId}/images/{imageId}。在REST中驗證代表資源和子資源的輸入
數據庫模式是這樣的:一個用戶可以有多個圖像。
客戶端向我們發送「{userId}」和「{imageId}」的輸入。我將不得不驗證這些輸入。我的問題是關於驗證「{imageId}」輸入。我在這裏有兩個選項:
選項1:驗證特定imageId是否屬於該userId。如果我沒有看到給定userId的圖像,則拋出一個錯誤,即「沒有給定userId的圖像」。
選項2:驗證具有給定「{imageId}」的圖像是否存在。拋出一個錯誤,說「圖像與給定imageId不存在」。然後再次驗證(另一個數據庫檢查)給定的「{imageId}」是否屬於該「{userId}」。
上述兩個選項中,哪個選項是正確的方法?
謝謝你的回覆。我知道我可以將圖像表示爲「/ images/{imageId}」。我特別想強調一下這樣一個事實,即由於某種原因,客戶端無法訪問映像,除非URL爲:「/ users/userId/images/imageId」,並且這是無法更改的,因爲這是已配置的方式。根據你的回答,我認爲你要求我選擇1.謝謝 – user2608424 2014-09-23 16:13:15