Dot-Net

RESTful Services 中特定場景的最佳實踐

  • February 19, 2015

我有兩個簡單的問題,我只想了解社區的意見 -

  1. 如果我有一個可以使用 ID 或日期 (20110705) 訪問的實體,那麼用於訪問實體的 url 約定的最佳做法是什麼?
  • 得到:/myEntities/{date}/myEntities/{id}?(服務將解析 {object} 以檢查它是日期還是 id。
  • GET :/myEntities/date/{date}/myEntities/id/{id}*?
  1. 在 WCF Rest 中,我也可以這樣做 /myEntities/?date={date}/myEntities/?id={id}這是 REST 的好習慣嗎?換句話說,就最佳實踐而言,使用它是否可以接受,?date={date}而不是date/{date}/喜歡它只是一個簡單的個人偏好?

提前致謝。

我覺得這很大程度上取決於偏好和風格。

話雖如此,我個人更喜歡:

/myEntities/date/{date}/myEntities/{id}

不需要顯式地使用 ID 選項;這是假設的。

關於#2;我個人不喜歡這種語法:/myEntities/?date={date} 如果它在 WCF 中作為 URI 模板實現- 因為如果您有多個參數,則假設參數的順序可以相互調整 - 但它們不能與 URI 模板一起使用。但是,作為標準查詢字元串參數,這是完全可以接受的,並且在所有地方都可以使用——Google、雅虎、亞馬遜和其他人都使用這種風格。如果有的話,這正是“查詢字元串”的含義 - 查詢的參數……這正是您在通過**__**檢索實體時所做的事情。

(但我和你一樣好奇其他人會說什麼)。

引用自:https://stackoverflow.com/questions/6587317