鍍金池/ 教程/ Java/ 用于分頁(yè)的保留屬性名
一般準(zhǔn)則
屬性值準(zhǔn)則
JSON結(jié)構(gòu)和保留屬性名
用于鏈接的保留屬性名
data對(duì)象的保留屬性名
錯(cuò)誤對(duì)象中的保留屬性名
頂級(jí)保留屬性名稱
示例
用于分頁(yè)的保留屬性名
屬性名準(zhǔn)則
屬性順序
附錄
屬性值數(shù)據(jù)類型

用于分頁(yè)的保留屬性名

用于分頁(yè)的保留屬性名

下面的屬性位于data對(duì)象中,用來(lái)給一列數(shù)據(jù)分頁(yè)。一些語(yǔ)言和概念是從OpenSearch規(guī)范中借鑒過(guò)來(lái)的。

下面的分頁(yè)數(shù)據(jù)允許各種風(fēng)格的分頁(yè),包括:

  • 上一頁(yè)/下一頁(yè) - 允許用戶在列表中前進(jìn)和后退,一次一頁(yè)。nextLinkpreviousLink屬性 (下面的"鏈接保留屬性名"部分有描述) 用于這種風(fēng)格的分頁(yè)。
  • 基于索引的分頁(yè) - 允許用戶直接跳到條目列表的某個(gè)條目位置。例如,要從第200個(gè)條目開始載入10個(gè)新的條目,開發(fā)者可以給用戶提供一個(gè)URL的查詢字符串?startIndex=200
  • 基于頁(yè)面的分頁(yè) - 允許用戶直接跳到條目?jī)?nèi)的具體頁(yè)。這跟基于索引的分頁(yè)很類似,但節(jié)省了開發(fā)者額外的步驟,不需再為新一頁(yè)的條目計(jì)算條目索引。例如,開發(fā)人員可以直接跳到第20頁(yè),而不是跳到第200條條目?;陧?yè)面分頁(yè)的網(wǎng)址,可以使用查詢字符串?page=1?page=20。pageIndextotalPages 屬性用作這種風(fēng)格的分頁(yè).

在這份指南的最后可以找到如何使用這些屬性來(lái)實(shí)現(xiàn)分頁(yè)的例子。

data.currentItemCount

屬性值類型: 整數(shù)(integer)
父節(jié)點(diǎn): data

結(jié)果集中的條目數(shù)目。應(yīng)該與items.length相等,并作為一個(gè)便利屬性提供。例如,假設(shè)開發(fā)者請(qǐng)求一組搜索條目,并且要求每頁(yè)10條。查詢集共有14條。第一個(gè)條目頁(yè)將會(huì)有10個(gè)條目,因此itemsPerPagecurrentItemCount都應(yīng)該等于10。下一頁(yè)的條目還剩下4條;itemsPerPage仍然是10,但是currentItemCount是4.

示例:

{
  "data": {
    // "itemsPerPage" 不需要與 "currentItemCount" 匹配
    "itemsPerPage": 10,
    "currentItemCount": 4
  }
}

data.itemsPerPage

屬性值類型: 整數(shù)(integer)
父節(jié)點(diǎn): data

items結(jié)果的數(shù)目。未必是data.items數(shù)組的大??;如果我們查看的是最后一頁(yè),data.items的大小可能小于itemsPerPage。但是,data.items的大小不應(yīng)超過(guò)itemsPerPage。

示例:

{
  "data": {
    "itemsPerPage": 10
  }
}

data.startIndex

屬性值類型: 整數(shù)(integer)
父節(jié)點(diǎn): data

data.items中第一個(gè)條目的索引。為了一致,startIndex應(yīng)從1開始。例如,第一組items中第一條的startIndex應(yīng)該是1。如果用戶請(qǐng)求下一組數(shù)據(jù),startIndex可能是10。

示例:

{
  "data": {
    "startIndex": 1
  }
}

data.totalItemsx

屬性值類型: 整數(shù)(integer)
父節(jié)點(diǎn): data

當(dāng)前集合中可用的總條目數(shù)。例如,如果用戶有100篇博客文章,響應(yīng)可能只包含10篇,但是totalItems應(yīng)該是100。

示例:

{
  "data": {
    "totalItems": 100
  }
}

data.pagingLinkTemplate

屬性值類型: 字符串(string)
父節(jié)點(diǎn): data

URL模板指出用戶可以如何計(jì)算隨后的分頁(yè)鏈接。URL模板中也包含一些保留變量名:表示要載入的條目的{index},和要載入的頁(yè)面的{pageIndex}

示例:

{
  "data": {
    "pagingLinkTemplate": "http://www.google.com/search/hl=en&q=chicago+style+pizza&start={index}&sa=N"
  }
}

data.pageIndex

屬性值類型: 整數(shù)(integer)
父節(jié)點(diǎn): data

條目的當(dāng)前頁(yè)索引。為了一致,pageIndex應(yīng)從1開始。例如,第一頁(yè)的pageIndex是1。pageIndex也可以通過(guò)基于條目的分頁(yè)而計(jì)算出來(lái)pageIndex = floor(startIndex / itemsPerPage) + 1

示例:

{
  "data": {
    "pageIndex": 1
  }
}

data.totalPages

屬性值類型: 整數(shù)(integer)
父節(jié)點(diǎn): data

當(dāng)前結(jié)果集中的總頁(yè)數(shù)。totalPages也可以通過(guò)上面基于條目的分頁(yè)屬性計(jì)算出來(lái): totalPages = ceiling(totalItems / itemsPerPage).。

示例:

{
  "data": {
    "totalPages": 50
  }
}