实现API后端分页的最佳方法是什么?

时间:2016-09-01 17:48:53

标签: json ajax asp.net-mvc razor paging

我正在创建一个搜索功能,该功能将使用搜索字词从API调用中获取一些数据并返回数据。我看过的许多分页教程都在服务器端进行分页,所以它只返回它从数据库中需要的东西,但是我没有那个选项,因为所有东西都在一个堆中作为JSON返回。

最好使用MVC,填充所有模型,将它们传递给视图,然后从那里开始页面? 使用像AJAX和angular这样的东西并一起跳过MVC会更好吗? 或完全是另一种选择。

2 个答案:

答案 0 :(得分:1)

为什么需要一次获取所有数据?这非常低效,基本上否定了整个寻呼点。如果客户端已被迫下载所有内容,那么您也可以向他们展示所有内容。

根据您是否控制API,您有多种选择。如果您确实控制了API,那么您应该在其中构建分页。您可以向其发送要返回的页码和项目数量,然后API可以响应项目总数和/或存在的页数,以及该页面的结果。使用此信息,您可以构建一个分页系统客户端,可以一次查询API页面。

如果您不控制API,那么可能还有某种内置页面功能。大多数API提供商希望您进行寻呼,因此您不必锤击他们的服务器,请求大量可能永远无法使用的数据。所有大型API(Facebook,Twitter等)都支持某种能力,以及#34;页面"结果。

答案 1 :(得分:0)

你没有提到它是什么API,但我会查看文档。

没有严肃的API可以一次性返回所有数据,它们都提供了一种方法来指定您可以达到特定设置限制的记录数。

我看看他们的文档。如果我们正在讨论内部API,那么请与开发它的人聊聊,看看发生了什么。

当然,一切都取决于数据的大小,所以如果开始时没有那么多,有时可以一次性发送。

更多细节有助于澄清事情。