API消费者如何知道分页的总数据量?



我知道如何通过API端点对数据分页。因此,消费者可以发送可选参数,如skiptake,后端响应所需的数据。

但是客户端如何知道数据的总量,以便它可以显示用户可以点击的n个页面?

  • 让后端端点在获取请求中返回额外的信息,如

.

{
"data": [], // contains fetched items
"total": 123 // maximum items in database
}
  • 是否后端提供等效端点(相同的请求有效载荷),但不返回数据,而是总量?所以客户端必须首先使用这个端点。

  • 客户端是否要求n+ 1项,所以如果用户期望每页5项,后端返回6项,客户端知道将有下一页?

或者还有其他我不知道的方法吗?

是,后端端点应该提供记录的总数。理想情况下,如果后端不发送总记录计数,客户端是不可能知道记录总数的。

端点应该返回总数和数据响应。您可以进一步说明记录分页是有下一页还是上一页。如果您的端点被服务使用,这将更有用。有效载荷看起来像

{
"data": [],
"total": 120,
"hasPrevious: false //this will be false if the data returned is for the first page
"hasNext: true
}

这样,当hasNext为true时,使用端点的服务可以继续调用获取数据

相关内容

  • 没有找到相关文章

最新更新