flask-restful 实践
安装
pip install flask
pip install flask-restful
pip install flask-httpauth
一个 Demo
add_resource :路由地址和函数绑定;
from flask import Flask,jsonify
from flask_restful import Api,Resource
app=Flask(__name__)
api=Api(app)
class IndexView(Resource):
def get(self):
return {"status":0,"code":200,"msg":"ok","data":{"userID":1001,"name":"wuya",
"age":18}}
# 把IndexView类的方法 映射到试图上 把类名传进行 第二个参数是路由地址
api.add_resource(IndexView,'/index/')
if __name__ == '__main__':
app.run(debug=True)
校验数据
add_argument 方法 :校验数据,可以校验 是否必须、数据类型、长度、正则校验等。
-
help 如果不指定 ,则输出错误本身;
-
required :参数是否为必需
-
default:如果该参数没传值,则给定默认值
-
choices :参数是否在可选项中,不在则不通过
-
trim :是否去掉参数前后的空格
from flask import *
from flask_restful import Api,Resource,reqparse,inputs
app = Flask(__name__)
api = Api(app)
# 对reqparse模块下的RequestParser类进行实例化
parser = reqparse.RequestParser()
# add_argument方法添加接收参数
parser.add_argument('username', required = True, type = str, help = '数据类型错误')
parser.add_argument('phone', type=inputs.regex(r'1[3456789]\d{9}'), help='手机号不正确')
class infoView(Resource):
def post(self):
# 解析参数
args = parser.parse_args()
# 获取参数
print(args.phone)
print(args['phone'])
return args
api.add_resource(infoView, '/info/')
if __name__ == '__main__':
app.run(debug=True)
Flask-restful 项目结构
https://blog.csdn.net/qq_43067115/article/details/104091920
app
database
resources
__init__.py
config.py
README.md
run.py