Ruby API 调用页面问题

Ruby API Call Page Issue

这可能是一个基本问题,但很常见,因此将来可能对其他人有所帮助。 我使用 HTTParty 向 API 发出获取请求,其中 returns 一些信息,如下所示:

{
    datapath: "blah-blah.blah.blah",
    success: true,
    info: {
        row_limit: 500, 
        total_results: 2700,
        total_pages: 6, 
        current_page: 1
    }, 
    result: [
        {name: something, age: 1}, 
        {name: something, age: 2}, 
        {name: something, age: 3}, 
        {name: something, age: 4}, 
        {name: something, age: 5}, 
        ......
    ]
}

我想要一个所有名字的列表,所以我有这样的东西:

response = HTTParty.get('blah-blah.blah.blah')
names = response.map { |entry| entry["name"] }

使用这种方法,我只能获取第一页上的名字,也就是前 500 个,但我想要 2700 个条目中的所有名字。我怎么做?

事实上,快速 google 将我带到了这个页面 https://app.enigma.io/api#data,它告诉我有问题的参数是 limit,最大值是500. 所以,看起来你无法一次获得所有行的数据。

如果您真的需要一次获取所有行的数据(实际上您可能不需要),那么您可以传递 limit=500 并继续增加 page 1,并在你的最后合并结果以获得所有行。