设置重命名属性和默认值
使用 attribute 配置这种映射 , 比如: fields.String(attribute='username')
使用 default 指定默认值,比如: fields.String(default='sxt')
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,info):
self.code = code
self.msg = msg
self.info = info
self.state= 1000
class NewsView(Resource):
resouce_fileds = {
# 通过参数default来设置默认值
'code':fields.Integer(default=200),
'msg':fields.String,
# 通过参数attribute来设置提取数据的字段
'content':fields.String(attribute='info'),
# 优先级不如真实数据里面的高
'state':fields.Integer(default=2000)
}
@marshal_with(resouce_fileds)
def get(self):
return News(200,'访问成功!','移动')
@marshal_with(resouce_fileds)
def post(self):
return {'msg':'增加数据成功','info':'联通'}
@marshal_with(resouce_fileds)
def put(self):
# 在返回对象时,会自动在对象中获取与约定好的字段,并获取分装成json
news = News(404,'访问成功','移动')
return news
api.add_resource(NewsView,'/news/')
if __name__=="__main__":
app.run(debug=True)
执行结果: