使用方法
导入 flask_restful.marshal_with 装饰器定义一个字典变量来指定需要返回的标准化字段,以及该字段的数据类型在请求方法中,返回自定义对象的时候, flask_restful 会自动的读 取对象模型上的所有属性。 组装成一个符合标准化参数的json 格式字符串返回给客户端
# flask_restful规范返回值
from flask import Flask,render_template
from flask_restful import Api,Resource,fields,marshal_with
app = Flask(__name__)
api =Api(app)
class News:
def __init__(self,code,msg,state,content):
self.code = code
self.msg = msg
self.state = state
self.content=content
class NewsView(Resource):
resouce_fileds = {
'code':fields.Integer,
'msg':fields.String,
'state':fields.String
}
@marshal_with(resouce_fileds)
def get(self):
return {'code':200,'msg':'访问成功','state':'移动端'}
@marshal_with(resouce_fileds)
def post(self):
return {'msg':'注册成功'}
@marshal_with(resouce_fileds)
def put(self):
# 在返回对象时,会自动在对象中获取与约定好的字段,并获取分装成json
news = News(404,'ok','电脑端','sxt')
return news
api.add_resource(NewsView,'/news/')
if __name__=="__main__":
app.run(debug=True)
执行结果:
GET请求
post请求
put 请求