假設我有一個「訂單」的集合。 (a)訂單分爲三類:「待定」,「確認」,「已完成」。REST API:嵌套URI可以與ID通過查找共存嗎?
(b)中自然地,訂單可以通過ID
最初我認爲這URI方案的擡頭:
對於(A):
GET /orders/:id
對於(b):
GET /orders/pending
GET /orders/confirmed
GET /orders/completed
這種方法的問題是,有一個(非常非常罕見的)機會,訂單將收到的ID爲「待定」(或「證實」或「已完成「),在這種情況下,URI /orders/pending
變得不明確。
另一種選擇是使用:GET /orders_pending
但這看起來不太優雅。
有什麼建議嗎?
這是一個很好的答案,因爲要求是簡單的'/ orders'搜索/過濾器,是所有訂單的列表。有可能在此基礎上,例如?category = pending&paid = true,並且您無法真正擴展/排序/暫掛URL的樣式以覆蓋所有可能的查詢輸入。 – mahemoff 2014-10-27 09:12:44
@mahemoff關於擴展的好處,生病添加:-) – 2014-10-27 09:13:34