我们现在正在设计我们的 RESTful API,我有一个关于如何公开分页信息的问题。
似乎一些著名的服务,如 Github 或 Firefox Market Place,在其 API 中有如下内容:
{
"meta": {
"limit": 3,
"next": "/api/v1/apps/category/?limit=3&offset=6",
"offset": 3,
"previous": "/api/v1/apps/category/?limit=3&offset=0",
"total_count": 16
}
}
我的问题是:
为什么服务器要在响应中提供完整的下一个/上一个 url?
在我看来,客户正在提出第一个请求。所以它知道它曾经调用过哪些参数(偏移量/限制/api版本)。客户端很容易弄清楚下一个/上一个要调用的 url 是什么。为什么要费心计算多余的 url 并将其提供给客户端?