2013-01-11 38 views
2

我想拋出這個問題,並從Play Framework的其他用戶(特別是Play 2.0)獲得一些反饋。Play Framework 2.0 - Restful URL命名約定

可以說我有一個名爲'FooBar'的實體。我們還假設我提供了一個Restful API,允許在URL 'http://<host>/api/foo_bar'處進行CRUD操作。

我的問題是,社區之間有關於如何命名URL的共識,其中URL提供對名稱包含多個單詞的實體的訪問?

我能想到的以下4個選項來命名這樣的URL,這將每個似乎是合理的:

  1. 蛇的情況下(這將是Rails約定) - HTTP:/// API/foo_bar這樣的名稱
  2. 駱駝 - http://<host>/api/fooBar
  3. 帕斯卡情況 - http://<host>/api/FooBar
  4. 只是消除下劃線(有沒有這個名字嗎?) - http://<host>/api/foobar

在此先感謝您的意見!

回答

0

我會避免選擇2和3的原因有兩個:

  1. URI的路徑組成部分是大小寫敏感的**,所以,這些路徑實際上可能指向不同的REST端點在您的應用程序,這是混亂。

  2. 某些服務器(即在Windows上)將路徑視爲不區分大小寫,如果需要將應用程序遷移到其他平臺(或託管提供程序),可能會出現問題。

選項1和4之間,我更喜歡1(或連字符),因爲是事實上的標準,但沒有什麼官方的,我知道。

** The spec for the path component of a URI未指定不區分大小寫,因爲它明確表示所有內容。

1

AFAIK,對於網址沒有約定。

大多數樣品的使用單字實體名稱,並代表他們與小寫的網址:實體= Computer,上市他們PATH = /computers,所以multi-word-parts我建議使用小寫字母,連字符或下劃線 - 取決於你的習慣。

我看到也發揮項目和/或使用你所指出的所有符號樣本(即Play documentation使用帕斯卡,play-authenticate sample使用小寫字母,連字符,符號等)

在另一方面爲URL的可見的普通用戶(我知道這是脫離主題),尤其是如果URL代表顯示頁面的標題,我建議使用/The_Wikipedia_style - 支持非拉丁字符。