我們現在正在設計我們的RESTful API,並對如何公開分頁信息提出了一個問題。爲什麼在API響應中提供分頁信息?
似乎一些著名的服務,如Github上或Firefox市場在位,其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
}
}
我的問題是:
爲什麼要在服務器給出完整的一個/上一個網址在迴應中?
在我看來,客戶端正在提出第一個請求。所以它知道它用來調用的參數(偏移/限制/ api版本)。客戶端很容易找出下一個/上一個要調用的URL。爲什麼要計算冗餘網址並將其提供給客戶?
使用分頁保護您免受用戶回吐所有的資源都有大量的查詢。例如,將返回的項目數量限制爲20.您可以傳遞頁面,以方便用戶。 – Matt
@Matt我認爲你已經錯過了OP所問的確切問題。這是「爲什麼當客戶明確知道如何生成它們時,在響應中提供URL?」而不是「爲什麼要使用分頁?」 –
@MattBall感謝您爲我澄清。你所說的正是我要打字的內容。 – Lenciel