如何根据分页 API 中的 属性 获取前 X 个项目?

How to get top X number of items according to a property in a paginated API?

请注意问题故意含糊不清。 假设,我有一个 API 和 return 分页的书籍数据。每页 100 本书 objects [此数据存在于 headers 中,例如 'total-pages'。响应 body 采用 JSON object 列表的格式。

[
 {},
 {},
  .
  .
  .
]

假设图书 object 具有所有必要的数据,例如标题、描述、销售数量等。我如何 return top-selling n 本书 [top-selling => 最高销量]? 您不能提供任何参数,例如

GET endpoint/orderby=popularity&order=desc

到此端点,您无法进行任何数据库查询优化。我们如何只用纯代码解决这个问题? 如果有任何想法或建议,我将不胜感激。

由于端点接受的参数有限,您唯一的选择是获取所有页面(通过不断循环直到出错)然后在您的程序中自行排序。

如果上述解决方案很慢,您可以通过将要求从return top-selling n number of books放宽到return a few top-selling books which are in the top X%

来优化