flask: 封装返回json的统一格式
一,函数
from flask import jsonify
def success_response(data=None):
"""结果响应:带数据和状态信息"""
return jsonify({
'status': "success",
'code': 200,
'msg': "",
'data': data
})
def failed_response(code=500, msg="", data=None):
"""结果响应:带数据和状态信息"""
return jsonify({
'status': "failed",
'code': code,
'msg': msg,
'data': data
})
二,model
from app import db
# 设计数据库模型
class User(db.Model):
# 指定表名称
__tablename__ = 'user'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), nullable=False)
nickname = db.Column(db.String(256), nullable=False)
age = db.Column(db.Integer, default=0)
city = db.Column(db.String(256), nullable=False)
def to_json(self):
"""资源和JSON的序列化转换"""
json_obj = {
'id': self.id,
'username': self.username,
'nickname': self.nickname,
'age': self.age,
'city': self.city,
}
return json_obj
三,调用
对象需要转为字典再输出成json
@user.route("/list/")
def user_list():
# 得到数据库中的数据
users = User.query.all()
for index, user in enumerate(users):
if user.id == 2:
users[index].city = "沈阳市"
return success_response([user.to_json() for user in users])
四,测试效果:

浙公网安备 33010602011771号