2016-02-12 68 views
0

我正在web服務上實現分頁。我的第一個想法是使用查詢參數pagesize,就像Spring Data一樣。爲什麼使用分頁令牌?

但是,我們基於我們的一些設計在google webservice apis上。我注意到他們使用分頁標記,每頁結果包含nextPageToken。使用這種方法有什麼好處?更改數據?什麼樣的信息將被編碼在這樣的令牌中?

回答

0

不透明字符串用於分頁令牌的一個原因是,您可以更改分頁的實現方式而不會破壞客戶端。像頁面這樣的查詢參數(我假設你的意思是頁碼)對你的客戶是透明的,並且允許他們對此做出假設。

0

當使用偏移進行分頁時,插入和刪除請求之間的數據會導致行被跳過或包含兩次。如果您能夠跟蹤之前返回的內容(通過密鑰或其他),則可以保證即使在請求之間插入/刪除時也不會兩次返回相同的結果。

我對你如何編碼一個標記有點不確定,但對於單個表,至少看起來你可以使用主鍵的編碼版本作爲限制。 「我只是在鑰匙= 200之前就把所有東西都還了,下一次我只會在200以後才能退貨。」我想這假設在請求1和2之間插入的新項目將被給予比現有密鑰更大的密鑰。

https://use-the-index-luke.com/no-offset