在Rails API中,是否有标准的方式来分页"或" chunk"大型API请求响应?

时间:2018-04-02 14:32:28

标签: ruby-on-rails json rest api

场景:

  • 我有一个带有/tasks.json端点的Rails API,可以为所有任务提供服务。
  • 对于大型帐户,这有时可能接近1,000,000条记录。
  • 由于网络超时等原因,通过JSON在线路上发送1,000,000条记录通常无法正常工作。

我可以很容易地" paginate"发送的任务数量,因此端点使用类似/tasks.json?limit=10000&page=1的内容,但客户端如何知道发送此内容?

是否有"标准"如何处理这样的大型请求并自然地将它们分解成块?

每个客户都需要手动处理吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

你应该使用kaminari宝石。它处理所有请求并对其进行分页。它适用于Rails Api应用程序和rails标准应用程序。 https://github.com/kaminari/kaminari