假设我有一个“订单”的集合。 (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