我試圖弄清楚什麼是顯示不是集合(組)的成員(用戶)列表的最佳方式。不在集合中的成員列表的RESTful路由
/users
是我列出所有的用戶帳戶中的路線
/group/:id/members
是我列出了所有用戶的組路線
/users?not_in_group=:id
是我對當前選項顯示不在該組中的用戶列表。有更多的RESTFul方式來顯示這個?
/group/:id/non_members
似乎有點古怪......
我試圖弄清楚什麼是顯示不是集合(組)的成員(用戶)列表的最佳方式。不在集合中的成員列表的RESTful路由
/users
是我列出所有的用戶帳戶中的路線
/group/:id/members
是我列出了所有用戶的組路線
/users?not_in_group=:id
是我對當前選項顯示不在該組中的用戶列表。有更多的RESTFul方式來顯示這個?
/group/:id/non_members
似乎有點古怪......
可以使用查詢參數或路徑來獲取所需的表示形式。但我會遵循皮特的建議,並確保你的API是hypertext-driven。不這樣做會引入REST旨在防止的客戶端和服務器之間的耦合。
您的問題的最佳答案可能取決於您的應用程序。例如,如果您的系統足夠小,則僅支持由用戶列表和他們各自的組(在/用戶處找到的資源)組成的表示就足夠了。然後讓客戶理清他們想要的信息。如果您的系統擁有大量組和許多用戶,而每個用戶只屬於幾個組,則任何組的available_users表示可能僅比整個用戶列表略小。
Creative design of media types可以走很長的路要解決這樣的問題。
輪輻與我的夥伴。他建議:
/group/:id/available_members
看起來更積極。
REST的主要規則是「超文本作爲應用程序狀態的引擎」。 URI的形式是無關緊要的,重要的是它可以從應用程序入口處返回的表示形式導航。
你的第二個RTF鏈接的關鍵引用:「如果一個視圖不適合你的需求,那麼隨意創建一個不同的資源,提供更好的視圖(對於」更好「的任何定義)......它只是需要讓收件人可以理解(並可以採取行動)。「 – 2009-09-18 16:34:57