1.flask-restful
1) rest是一种设计规范,为了适应后端分离(移动端和设计端分离)的情况
让请求的数据最小化、最优化
提供了资源(Resource)、url(统一资源标识符)和动作等概念
2) 在服务端(flask)提供一个api.py声明对Resource的操作
class UserResource(Resource):
# from flask_restful import Api, Resource
# 声明相关的动作(get、post、put、delete、patch)
def get (self):
return {}
3) 为资源添加一个 uri
api = Api(app)
api.add_resource(UserResource, '/')
4) 定制输入和输出
from flask_restful import reqparse
parser = reqparse.RequestParser() # 请求参数
parser,.add_argument('参数名',type=int/str, required=True, help='验证失败的信息',location='参数来源'(args,form,file,cookie))
def get(self):
self.parser.parse_args() #不满足,自动中断请求
定制输出函数:
from flask-restful import marshal,marshal,field
user_fields = {'id':field.Integer,
'name':fields.String,
'phone':fields.String
out_fields = {'msg':fields.String,
'data':fields.Nested(user_fields'}
1) @marshal_with(fields)
def get(self):
data = {'msg':'','data':users} #users=[<class User>,<class User>]
return marshal(data.out_fields)