REST参数与URI

时间:2012-06-07 16:48:02

标签: rest uri

我只是在学习REST并试图弄清楚如何在实践中应用它。我有一个我要查询的数据样本,但我不确定如何形成URL,即我放置查询的位置。例如,查询最近的100条数据记录:

GET http://data.com/data/latest/100
GET http://data.com/data?amount=100

前两个查询中哪个更好,为什么?以下是相同的:

GET http://data.com/data/latest-days/2
GET http://data.com/data?days=2
GET http://data.com/data?fromDate=01-01-2000

提前致谢。

2 个答案:

答案 0 :(得分:2)

这真的取决于很多事情。如果您正在使用任何类型的MVC框架,那么您将使用URI段来定义您对API的get请求,这是我个人更喜欢的。

这两种方式都不是什么大问题,它都是基于偏好以及您希望URL对您的用户有多可预测。在某些情况下,我会说使用REST参数,但是如果你的设置支持它,那么基于URI的GET通常是非常干净的。

答案 1 :(得分:2)

就个人而言,我会在这种情况下使用查询字符串格式。如果您的/data路径正在返回所有数据,并且您希望执行此类查询,我相信它最有意义。您还可以传递查询字符串参数(例如?since=01-01-2000)以在指定日期之后获取条目,或传递列名称(例如?category=clothing)以检索类别等于服装的所有条目。

此外,您希望/data/{id}之类的路径可用于检索给定其唯一ID的某些条目。