【问题标题】:for serverside pagination does the server should have the support for it? any "API" with pagination?对于服务器端分页,服务器是否应该支持它?任何带有分页的“API”?
【发布时间】:2018-06-05 07:43:45
【问题描述】:

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

【问题讨论】:

    标签: angularjs rest api pagination


    【解决方案1】:

    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 响应的示例

    在您的服务中,您可能会遇到这样的情况:

    return $http({
        method: 'GET',
        url: 'your.api.endpoint/your/resource/path/countries?offset=200&pageSize=50'
    })
    

    你会用:

    var pageOfData = { ... }; // Mocked data here.
    return $q(function (resolve, reject) {
        resolve(pageOfData);
    });
    

    【讨论】:

    • 感谢您的解释,您是否知道任何具有分页功能的 API 可以用来测试我的应用程序?
    • 你不是在构建自己的 API 吗?
    • 然后告诉做后端的人API需要支持分页
    • 好的,但我必须在我的 FronEnd 中实现它,所以我需要先测试它
    • 然后与他们说明 API 将如何工作并模拟您的服务中的回复。
    猜你喜欢
    • 1970-01-01
    • 2019-06-05
    • 2014-08-20
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多