2015-03-02 78 views
0

当创建与新排序,以旧的REST应用将返回项目集合(与岗位的集合主题)。REST分页内容复制

是否会有HATEOAS原则进行,所有内容将网页客户端上进行分块将得到当前页ID,偏移,数据限制和链接到第一,比如当前和下一个页面。

从下一页获取数据没有问题,但是如果有人在客户端正在读取当前页面时添加了内容 - 数据将在收集开始时被推送,并且当前页面的最后一项将被移至下一页页。

如果你只是跳过它已经被加载之前的帖子,你会得到下一个页面上的项目的低量。有一种方法可以在列表开始和增量偏移量中获得推送项目的计数。

什么是最佳做法?

+1

我到目前为止发现的最佳解决方案:[基于光标的分页示例](http://www.sitepoint.com/paginating-real-time-data-cursor-based-pagination/) – 2015-03-02 12:21:26

+0

我认为文章你提到的是处理有序集合中的动态数据的一个很好的例子。我的首选是使用参数as /直到描述。据我所知,我认为Facebook也为此付出了努力。 – Cleric 2015-03-20 07:21:29

回答

0

不使用偏移量索引,而是跳过表示不包含第一个值(或第一个包含的值)的令牌是一种很好的技术,前提是该值对于结果集中的每个项目都是唯一的,并且是可订购的字段基于当前的排序。但它并不完美。通常这并不重要。

如果它确实重要,你必须把一切的第一页中调用第2页,一次又一次的标识。 HATEOAS可以帮助你做这样的事情......但是它可能会变得非常混乱,而且当你提出第5页的请求时,鉴于当前的排序,第1页上可能会弹出一些东西......你对此做了什么?

另一个窍门,以避免在UI受骗者是使用自或规范的链接关系来唯一地标识一个页面资源,并比较这些现有资源的UI。使用最新的匹配资源更新UI通常是一项简单的任务。这当然会给客户带来一些负担。

没有一个1个一刀切的解决这个问题。你必须为你打算实现的UX设计。