python flask 响应的data, code, headers三种设置方式
2021/9/28 17:11:30
本文主要是介绍python flask 响应的data, code, headers三种设置方式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
过多次的测试,发现接口函数的返回值一定会经过 flask_restful.Api.make_response
处理后, 通过 flask.Flask
对象返回给调用方。
分享三种响应体 响应头 状态码的设置方式:
- 无论那种方式,参数顺序传递顺序依次为:响应体, 状态码, 响应头。
- 接口函数直接返回。文件上传接口的示例:
import os from flask import request from flask_restful import Resource class UploadApi(Resource): def post(self): # 文件上传 try: upload_file = request.files['file'] task = request.form.get('identifier') # 获取文件唯一标识符 chunk = request.form.get('chunkNumber') # 获取该分片在所有分片中的序号 file_size = request.form.get('currentChunkSize') # 获取该分片的大小 file_path, proj_name = request.form.get('relativePath').split('/') # 版本文件所属项目、存放目录 filename = '%s%s' % (task, chunk) # 构成该分片唯一标识符 # 分目录存放 localdir = "/UPGRADE_PACKAGE_ROOT" if not os.path.isdir(localdir): os.makedirs(localdir) file_path = '%s/%s' % (localdir, filename) upload_file.save(file_path) except Exception as e: return str(e), 415 return {'msg':'success', 'data':{'data': '%s' % (file_path)}}, 200, None
- 使用
flask.make_response
方法,该方法内部会调用flask_restful.Api.make_response
。示例:from flask_restful import output_json # return {'msg':'success', 'data':{'data': '%s' % (file_path)}}, 200, None return output_json(data={'msg': 'success', 'data': {'data': 's' }}, status=200, headers=None)
- 使用
flask_restful.output_json
方法拼接。output_json
内部会使用flask.make_response
方法:
*. 按顺序传参from flask import make_response # return {'msg':'success', 'data':{'data': '%s' % (file_path)}}, 200, None return make_response({'msg': 'success', 'data': {'data': 's'}}, 200)
*. 将响应体, 状态码, 响应头放在一个元组中传参:from flask import make_response # return {'msg':'success', 'data':{'data': '%s' % (file_path)}}, 200, None return make_response(({'msg': 'success', 'data': {'data': 's'}}, 200, None))
*. 将响应体转换为ResponseBase对象后传参:from flask import make_response from flask import jsonify res = jsonify(msg='success', data={'data': 's'}) make_response((res,415,None))
这篇关于python flask 响应的data, code, headers三种设置方式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享