最近,我淹没在有关用于分页的游标指定的两种思想中:
光标仅包含其位置(例如最后一个项目ID,最后一个创建于...)。
因此服务器可以提供游标和查询参数的任意组合。
例如:
?queryParam=X&cursor=
,服务器返回cursor=C1
?queryParam=Y&cursor=C1
,服务器仍然能够使用新的查询参数来处理此查询(即使cursor=C1
与查询参数X关联了)光标包含原始查询参数。指定游标时,将忽略其他查询参数。
也就是说,如果查询参数不兼容的查询<->游标对,则服务器可能会忽略查询参数甚至响应错误
?queryParam=X&cursor=
,服务器以cursor=C1
进行响应,该编码为queryParam=X
?queryParam=Y&cursor=C1
,服务器从queryParam=X
中提取cursor=C1
,并从请求中忽略queryParam=Y
。那么考虑到以上两个选项,设计游标的首选方法是什么?
我上次检查时,Google API(特别是Gmail API :: list邮件)使用第一种方法。