2016-05-17 44 views
0

如果PUTDELETE業務資源可以在輪廓資源通過傳遞要麼profileIdprofileName(都是唯一的),什麼是形成網址,以正確的方式進行?設計REST URL與多個標識符

我想支持發送profileId當兩個更新刪除配置文件資源操作和支持更新發送profileName當一個配置文件刪除資源操作。

當發送profileId,網址進行PUT操作會是什麼樣子:

/api/profiles/{profileId} 

將如何URL看起來發送profileName時是怎樣的? profileName應該作爲查詢參數發送嗎?

/api/profiles?profileName=uniqueProfileName 

或者是否有更好的方法來處理這種情況?

+0

這將幫助你在這裏你會發現如何發送一個數組在URL中,與這個數組,你可以對待你想刪除的ID。 http://stackoverflow.com/questions/6243051/how-to-pass-an-array-within-a-query-string –

+0

我們希望同時支持:這是更新/通過profileId刪除配置文件和更新/刪除配置文件通過profileName –

回答

1

您可以使用profileId爲您的個人資料資源主標識

/api/profiles/{profileId} 

而且你可以通過使用查詢參數支持{profileName}副標識符

/api/profiles?name={profileName} 

或矩陣參數:

/api/profiles;name={profileName} 
+1

非常感謝你:) –

+0

我設計了'ProfileResource'來支持主標識符和輔助標識符(profileId和profileName)。出錯。問題已更新。你能幫我解決這個問題嗎? –

+0

@VGHegde它看起來超出了原始問題的範圍。你爲什麼不問一個新問題。我很樂意在那裏爲您提供幫助。 *提示:*您可以在返回所有配置文件的方法中使用查詢字符串,並避免含糊不清。 –