支持上传excel
使用postman测试上传片功能
支持上传片并且可以访问的接口
支持post方法传参
如果接口改成只支持post方法访问,代码如下:
from flask import Flask,request
import json
app=Flask(__name__)
# 只接受POST方法访问
@app.route('/test_1.0',methods=['POST'])
def check():
# 默认返回内容
return_dict= {'return_code': '200', 'return_info': '处理成功', 'result': False}
# 判断传入的json数据是否为空
if request.get_data() is None:
return_dict['return_code'] = '5004'
return_dict['return_info'] = '请求参数为空'
return json.dumps(return_dict, ensure_ascii=False)
# 获取传入的参数
get_Data=request.get_data()
# 传入的参数为bytes类型,需要转化成json
get_Data=json.loads(get_Data)
name=get_Data.get('name')
age=get_Data.get('age')
# 对参数进行操作
return_dict['result']=tt(name,age)
return json.dumps(return_dict, ensure_ascii=False)
# 功能函数
def tt(name,age):
result_str='%s今年%s岁' %(name,age)
return result_str
if __name__ == '__main__':
app.run(debug=True)
支持上传excel文件的接口如下。
from flask import Flask, request
import xlrd
app = Flask(__name__)
# 处理中文编码
app.config['JSON_AS_ASCII'] = False
# 跨域支持
def after_request(resp):
resp.headers['Access-Control-Allow-Origin'] = '*'
return resp
app.after_request(after_request)
# 上传表格
@app.route('/excel_info', methods=['GET', 'POST'])
def excel_info_():
if request.method == 'POST':
# 获取参数用request.form,获取文件用request.files
file = request.files.get('file')
if not file:
return {'code': '401', 'message': '缺少参数'}
# 读取表格内容
workbook = xlrd.open_workbook(file_contents=file.read())
# 取第一个sheet
sheet = workbook.sheet_by_index(0)
# 获取总行数
row = sheet.nrows
# 从表格中选取字段
titles = ['name', 'age', 'address']
json_list = []
# 遍历每一行的内容
for i in range(row):
if i == 0:
continue
row_value = sheet.row_values(i)
# 构造字典
obj = dict()
json_list.append(obj)
for title, col_val in zip(titles, row_value):
obj.setdefault(title, col_val)
# 将读取的内容作为结果返回
return {'code': '200', 'message': json_list}
else:
return {'code': '403', 'message': '仅支持post方法'}
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=True)
本机pycharm运行后如下:
-------------------------------------------分割线------------------------------------------------------
功能:1支持get方法传参
模块:flask
使用postman工具发送请求到接口地址120.0.1:5000/test_0
然后使用postman测试接口
-------------------------------------------分割线------------------------------------------------------
创建一张测试表格
结果如下:
使用postman测试接口:
支持上传片并用浏览器预览
-------------------------------------------分割线------------------------------------------------------
开发一个只接受get方法的接,并返回相应内容。
from flask import Flask,request
import json
app=Flask(__name__)
# 只接受get方法访问
@app.route('/test_1.0',methods=['GET'])
def check():
# 默认返回内容
return_dict= {'return_code': '200', 'return_info': '处理成功', 'result': False}
# 判断入参是否为空
if request.args is None:
return_dict['return_code'] = '5004'
return_dict['return_info'] = '请求参数为空'
return json.dumps(return_dict, ensure_ascii=False)
# 获取传入的params参数
get_data=request.args.to_dict()
name=get_data.get('name')
age=get_data.get('age')
# 对参数进行操作
return_dict['result']=tt(name,age)
return json.dumps(return_dict, ensure_ascii=False)
# 功能函数
def tt(name,age):
result_str='%s今年%s岁' %(name,age)
return result_str
if __name__ == '__main__':
app.run(debug=True)
文章为作者独立观点,不代表股票交易接口观点