无烧瓶无用的分页或得到完全响应



有时我想从一个资源中获得完整的响应,有时我想要分页。到目前为止,我只能使用一个或另一个。但是,没有一种方法可以设置烧瓶 - 可以根据我在get请求上传递的参数来使用两者?

如果我想为特定资源禁用分页,我会更改这样的设置:

manager.create_api(someresource, methods=['GET'], results_per_page=None)

但是现在分页完全被禁用,这不是我希望的行为。

,如果默认启用了分页,则仅返回第一页。如果我专门通过查询字符串中的第1页这样,没有办法告诉烧瓶 - 井现在只能获得第一页:

GET http://someaddress/resource?page=1 

我实际上能够使用循环解决问题,但我认为这不是一个不错的解决方案,因为我必须使用多个请求。

我请求资源并获取了total_pages,然后我将循环循环到total_pages,并将每次迭代作为参数在查询字符串中作为参数,以获取另一个新请求以获取每个页面:

i = 1
while i <= response.total_pages:
    page_response = requests.get("http://someurl/someresource?page=" + str(i))
    ...

,但我认为这不是解决这个问题的好方法。如果有可能将无烧瓶上的设置更改为无烧瓶的设置,以便仅在查询字符串中作为参数传递为参数,那么我会很高兴,但是如果还有另一种使用两者的方法好。

您可以通过禁用分页来获得所需的行为:

manager.create_api(someresource, methods=['GET'], results_per_page=0)

然后用results_per_page参数查询API,例如:

GET http://someaddress/resource?results_per_page=2

results_per_page参数必须是一个正整数,并且是您的新页面大小。该参数在此处进一步记录。


通过这种配置,无需分页的完整响应即可直截了当。只需省略results_per_page参数:

GET http://someaddress/resource

相关内容

  • 没有找到相关文章

最新更新