用于分页的保留属性名

最后更新于:2022-04-01 06:07:22

下面的属性位于_data_对象中,用来给一列数据分页。一些语言和概念是从OpenSearch规范中借鉴过来的。 下面的分页数据允许各种风格的分页,包括: * 上一页/下一页 - 允许用户在列表中前进和后退,一次一页。_nextLink_ 和_previousLink_属性 (下面的"链接保留属性名"部分有描述) 用于这种风格的分页。 * 基于索引的分页 - 允许用户直接跳到条目列表的某个条目位置。例如,要从第200个条目开始载入10个新的条目,开发者可以给用户提供一个URL的查询字符串_?startIndex=200_。 * 基于页面的分页 - 允许用户直接跳到条目内的具体页。这跟基于索引的分页很类似,但节省了开发者额外的步骤,不需再为新一页的条目计算条目索引。例如,开发人员可以直接跳到第20页,而不是跳到第200条条目。基于页面分页的网址,可以使用查询字符串_?page=1_或_?page=20_。_pageIndex_和 _totalPages_ 属性用作这种风格的分页. 在这份指南的最后可以找到如何使用这些属性来实现分页的例子。 ### [](https://github.com/darcyliu/google-styleguide/blob/master/JSONStyleGuide.md#datacurrentitemcount)data.currentItemCount ~~~ 属性值类型: 整数(integer) 父节点: data ~~~ 结果集中的条目数目。应该与items.length相等,并作为一个便利属性提供。例如,假设开发者请求一组搜索条目,并且要求每页10条。查询集共有14条。第一个条目页将会有10个条目,因此_itemsPerPage_和_currentItemCount_都应该等于10。下一页的条目还剩下4条;_itemsPerPage_仍然是10,但是_currentItemCount_是4. 示例: ~~~ { "data": { // "itemsPerPage" 不需要与 "currentItemCount" 匹配 "itemsPerPage": 10, "currentItemCount": 4 } } ~~~ ### [](https://github.com/darcyliu/google-styleguide/blob/master/JSONStyleGuide.md#dataitemsperpage)data.itemsPerPage ~~~ 属性值类型: 整数(integer) 父节点: data ~~~ items结果的数目。未必是data.items数组的大小;如果我们查看的是最后一页,data.items的大小可能小于_itemsPerPage_。但是,data.items的大小不应超过_itemsPerPage_。 示例: ~~~ { "data": { "itemsPerPage": 10 } } ~~~ ### [](https://github.com/darcyliu/google-styleguide/blob/master/JSONStyleGuide.md#datastartindex)data.startIndex ~~~ 属性值类型: 整数(integer) 父节点: data ~~~ data.items中第一个条目的索引。为了一致,_startIndex_应从1开始。例如,第一组items中第一条的_startIndex_应该是1。如果用户请求下一组数据,_startIndex_可能是10。 示例: ~~~ { "data": { "startIndex": 1 } } ~~~ ### [](https://github.com/darcyliu/google-styleguide/blob/master/JSONStyleGuide.md#datatotalitemsx)data.totalItemsx ~~~ 属性值类型: 整数(integer) 父节点: data ~~~ 当前集合中可用的总条目数。例如,如果用户有100篇博客文章,响应可能只包含10篇,但是_totalItems_应该是100。 示例: ~~~ { "data": { "totalItems": 100 } } ~~~ ### [](https://github.com/darcyliu/google-styleguide/blob/master/JSONStyleGuide.md#datapaginglinktemplate)data.pagingLinkTemplate ~~~ 属性值类型: 字符串(string) 父节点: data ~~~ URL模板指出用户可以如何计算随后的分页链接。URL模板中也包含一些保留变量名:表示要载入的条目的_{index}_,和要载入的页面的_{pageIndex}_。 示例: ~~~ { "data": { "pagingLinkTemplate": "http://www.google.com/search/hl=en&q=chicago+style+pizza&start={index}&sa=N" } } ~~~ ### [](https://github.com/darcyliu/google-styleguide/blob/master/JSONStyleGuide.md#datapageindex)data.pageIndex ~~~ 属性值类型: 整数(integer) 父节点: data ~~~ 条目的当前页索引。为了一致,_pageIndex_应从1开始。例如,第一页的_pageIndex_是1。_pageIndex_也可以通过基于条目的分页而计算出来_pageIndex = floor(startIndex / itemsPerPage) + 1_。 示例: ~~~ { "data": { "pageIndex": 1 } } ~~~ ### [](https://github.com/darcyliu/google-styleguide/blob/master/JSONStyleGuide.md#datatotalpages)data.totalPages ~~~ 属性值类型: 整数(integer) 父节点: data ~~~ 当前结果集中的总页数。_totalPages_也可以通过上面基于条目的分页属性计算出来: _totalPages = ceiling(totalItems / itemsPerPage)._。 示例: ~~~ { "data": { "totalPages": 50 } } ~~~
';