首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于服务器端分页,服务器应该支持它吗?有带分页的"API“吗?

对于服务器端分页,服务器应该支持它吗?有带分页的"API“吗?
EN

Stack Overflow用户
提问于 2018-06-05 07:43:45
回答 1查看 40关注 0票数 0

我想在我的"angularJs“应用程序中实现分页。我有一个下拉菜单,我使用的是angular-ui。首先,我希望应用程序从"API“加载第一组数据,并在ngInfiniteScroll的帮助下滚动到按钮,请求"API”中的下一组数据。例如,在请求"URL“中,我添加了"page=1”作为参数,对于任何请求,我都添加了“页面”号。我的问题是,对于这个分页,"API“是否应该具有分页功能,或者我可以对任何"API”这样做?如果"API“需要具有该功能,您知道有任何具有分页功能的"API”来测试我的应用程序吗?感谢你的帮助。我的代码是这里

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-05 08:32:32

API必须支持分页,因为它应该能够用数据片段来响应查询,而不是一次性转储所有数据。

例如:

第1页:your.api.endpoint/your/resource/path/countries?offset=0&pageSize=50

第4页:your.api.endpoint/your/resource/path/countries?offset=200&pageSize=50

不过,您可以为分页构建您的URL参数,例如/countries?pageNo=4&pageSize=50/countries?from=200&to=250等。

注意:

当您实现服务器端分页时,您也需要实现服务器端的排序和过滤;这是因为在服务器端分页时,客户端只能看到1页数据,因此排序或过滤将是不准确的。

编辑以显示模拟API响应的示例

在您的服务中,您可能有这样的东西:

代码语言:javascript
运行
复制
return $http({
    method: 'GET',
    url: 'your.api.endpoint/your/resource/path/countries?offset=200&pageSize=50'
})

你可以用:

代码语言:javascript
运行
复制
var pageOfData = { ... }; // Mocked data here.
return $q(function (resolve, reject) {
    resolve(pageOfData);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50694749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档