2010-06-04 54 views
2

試圖讓RESTfulness最佳實踐URI的交手... 假設RESTful:參數化數據請求中的最佳URI實踐?

  • /service/user.xml與所有用戶數據返回XML
  • /服務/用戶/ 1.xml返回xml,其中包含用於用戶標識1的數據

如果我只想獲取用戶的電子郵件地址,該怎麼辦?

  • /service/user.xml? par =電子郵件或/服務/用戶/ 電子郵件 .xml所有用戶?
  • /service/user/1.xml? par =電子郵件或/服務/用戶/ 電子郵件 /1.xml用戶ID 1?

祺/喬納斯

回答

1

在我看來,這是有道理的,如果你認爲它是不斷地縮小搜索範圍。你先用「物」的巨大集合開始,細化,越來越具體..

如此這般:

service -> choosing a particular user -> specify that user id -> specify what you need from them -> specify in what format you want that information

service/user/:id/email.:format

或者,止跌」不要說service/user/:id.:format?parameter=:param,如果沒有必要爲潛在的微不足道的事情創建一條完整的路線。

我認爲最終這些細節並不總是「最好的方式」,而是一些「推薦的方式」,其中一個最適合你。

您可能會感興趣theselinks

+0

謝謝Jeriko!縮小的方法似乎是要走的路!在我的情況/service/user/1/email.xml。大! – Cambiata 2010-06-04 09:41:48

+0

我看到其他答案已被刪除..我經常對這裏的複數/單數感到疑惑..想要聽到這方面的一些意見,就像我被撕裂一樣。由於Rails的原因,我學習了RESTful設計,並且他們引導你進入'/ users /'和'/ users/1',儘管我直觀地預期了'/ users /'和'/ user/1'。 「複合路線」實際上有一個選擇。 – Jeriko 2010-06-04 10:00:25

+0

嗯,這是有趣的東西... ...按照你的縮小方法,複數版本將是合理的:/用戶/ =所有用戶,/用戶/ 1/=縮小所有用戶到用戶ID 1 ... – Cambiata 2010-06-04 10:24:39