Flask入门笔记-16_序列化
from flask import Flask
from flask_restful import Resource, Api, fields, marshal_with, marshal
app = Flask(__name__)
api = Api(app)
# # 定义 json 字段规则
user_fields= {
'username':fields.String(attribute='name') # 指定序列化 对象数据 中的'name'属性 ,序列化后:username: obj.name
}
# 模拟数据库
class User():
def __init__(self, name):
self.name = name
class Demo(Resource):
def get(self):
# 模拟创建 数据库对象
user1 = User('zs')
print(user1.name)
# 将模型对象按照字段规则来进行json格式转换
return marshal(user1, user_fields, envelope='data') # envelope参数可以设置json数据的外层包装
@marshal_with(user_fields) # 使用装饰器的形式
def post(self):
user1 = User('zs')
return user1 # 直接返回模型对象即可
api.add_resource(Demo, '/')
if __name__ == '__main__':
app.run(host='0.0.0.0', port='8000')