在Flask中对API响应进行分页处理可以通过以下步骤实现:
以下是一个简单的示例代码:
from flask import Flask, request, jsonify
app = Flask(__name__)
# 模拟数据
data = [
{"id": 1, "name": "Alice"},
{"id": 2, "name": "Bob"},
{"id": 3, "name": "Charlie"},
{"id": 4, "name": "David"},
{"id": 5, "name": "Eve"}
]
# 定义分页处理函数
def paginate_data(data, page, per_page):
start = (page - 1) * per_page
end = start + per_page
return data[start:end]
# 定义API接口
@app.route('/api/data')
def get_data():
page = int(request.args.get('page', 1))
per_page = int(request.args.get('per_page', 2))
paginated_data = paginate_data(data, page, per_page)
total_data = len(data)
total_pages = (total_data + per_page - 1) // per_page
response = {
'data': paginated_data,
'page': page,
'per_page': per_page,
'total_data': total_data,
'total_pages': total_pages
}
return jsonify(response)
if __name__ == '__main__':
app.run()
在上面的示例代码中,我们定义了一个简单的数据列表,并实现了一个分页处理函数paginate_data
。在API接口/api/data
中,我们获取请求参数中的页码和每页数量,并根据这些参数返回分页后的数据和分页信息。通过访问http://localhost:5000/api/data?page=2&per_page=2
可以获取到第二页每页两条数据的结果。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。