有时我想从资源中获得完整的响应,有时我希望它带有分页。到目前为止,我只能使用其中一个或另一个。但是有没有办法根据我传递给 GET 请求的参数来设置 flask-restless 来使用两者?
如果我想禁用特定资源的分页,我会更改如下设置:
manager.create_api(someresource, methods=['GET'], results_per_page=None)
但现在分页已完全禁用,这不是我希望的行为。
如果默认启用分页,它只返回第一页。如果我像这样在查询字符串中专门传递第 1 页,是否有办法告诉 flask-restless 只获取第一页:
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))
...
但我认为这不是解决这个问题的好方法。如果有可能更改 flask-restless 上的设置以仅获取第一页(如果它作为查询字符串中的参数传递),那么我会非常高兴,但如果还有另一种方法可以同时使用这两种方法,那么它也是好的。