当前位置: 首页 > 知识库问答 >
问题:

API分页标准

丁曦哲
2023-03-14

我一直在开发一个API,需要分页。每个请求中只返回25个元素。我四处寻找标准,似乎看到了两种不同的情况。

  1. 链接标题
  • 链接:https://www.rfc-editor.org/rfc/rfc5988

示例:

Link: <https://api.github.com/user/repos?page=3&per_page=100>; rel="next",
  <https://api.github.com/user/repos?page=50&per_page=100>; rel="last"
  • 链接:API分页最佳实践

示例:

"paging":  {
    "previous":  "http://api.example.com/foo?since=TIMESTAMP"
    "next":  "http://api.example.com/foo?since=TIMESTAMP2"
}

问题:

我应该两者都做吗?话虽如此;“分页”键是正确的键吗?或“链接”或“分页”

共有1个答案

戚锦
2023-03-14

我想说,这取决于您返回的数据的结构(将来可能会返回)。

如果没有需要自己链接的嵌套对象,那么使用链接头(稍微)更可取,因为这样更正确。嵌套对象的问题是无法嵌套链接头。

考虑以下集合实体:

{
    "links": {
        "collection": "/cards?offset=0&limit=25"
    },
    "data": [
        {
            "cardName": "Island of Wak-Wak",
            "type": "Land",
            "links": {
                "set": "/cards?set=Arabian Knights"
            }
        },
        {
            "cardName": "Mana Drain",
            "type": "Interrupt",
            "links": {
                "set": "/cards?set=Legends"
            }
        }
    ]
}

没有好的方法可以在标题中包含卡片的链接。

 类似资料:
  • page标签 用于显示分页,和其它有分页功能的标签一起使用,请不要单独使用,一个模板里可以用多个分页标签,用 name 区分 标签名 作用 包含属性 page 显示分页 name 标签属性: | 标签属性名 | 含义 | | --- | --- | | name |分页变量名 | 显示分页 <page/>

  • page标签 用于显示分页,和其它有分页功能的标签一起使用,请不要单独使用,一个模板里可以用多个分页标签,用 name 区分 标签名 作用 包含属性 page 显示分页 name 标签属性: | 标签属性名 | 含义 | | --- | --- | | name |分页变量名 | 显示分页 <page/>

  • 这类似于这个没有任何答案的问题。我已经阅读了所有关于如何在twitter、facebook和Disqs api中使用游标的内容,以及这篇关于Disqs通常如何构建游标的文章,但我似乎仍然无法理解它们是如何工作的,以及如何在我自己的项目中实现类似的解决方案。有人能具体解释他们背后的不同技术和概念吗?

  • 我必须使用REST API获取数据并在Angular 2表中使用它。 所以我想知道哪一个是最好的解决方案: > 在API端处理分页、排序和过滤。因此API将只返回要显示在当前页面中的数据。使用此方法将需要多次调用API,因为每个操作都会引发API调用。 API返回所有数据,分页/筛选/排序将使用Angular 2进行管理。

  • 我有存储在图形数据库中的活动。在某些情况下,多个活动被分组并聚合为一个活动。 处理后的活动提要可能如下所示: > 活动具有更新的时间戳和唯一的id。 活动按其更新时间排序,如果是分组活动,则使用其子活动中的最新更新时间。 活动可以插入列表中的任何位置(例如,如果我们开始跟踪某人,他们过去的活动将插入列表)。 可以从列表中的任何位置删除活动。 由于数据量大,使用微秒的时间戳仍然可能导致冲突(2个项目

  • 我们的RESTAPI将返回页面中的结果。下面是一个控制器的示例 有没有一个简单的方法来消耗该API与重新设置模板? 如果我们这样做 它抛出一个异常 先谢谢你