【发布时间】:2019-03-22 11:25:37
【问题描述】:
在使用 flask-restful 构建 REST API 时,我的响应中出现了不需要的 json 数组
{
"data": [
{
"email": "sam@test.com",
"id": null,
"name": "Sam"
},
{}
]
}
我想要的是
{
"data": {
"email": "sam@test.com",
"id": null,
"name": "Sam"
}
}
这是我的代码
class User(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(100), nullable=False)
email = db.Column(db.String(100), nullable=False, unique=True)
password = db.Column(db.String(100), nullable=False)
class UserSchema(ma.ModelSchema):
class Meta:
model = User
fields = ('id', 'name', 'email')
ordered = True
class AuthResource(Resource):
def post(self):
parser = reqparse.RequestParser()
parser.add_argument('name', type=str, required=True, help='name required')
parser.add_argument('email', type=str, required=True, help='email required')
parser.add_argument('password', type=str, required=True, help='password required')
args = parser.parse_args()
try:
user = User(**args)
db.session.add(user)
db.session.commit()
return {'data': UserSchema().dump(user)}, 201
except IntegrityError:
return {'message': 'Account already exists'}, 400
【问题讨论】:
-
.dump(user, many=False)? -
@KlausD Nope.. 它不起作用.. 仍然返回相同
标签: python json flask flask-restful marshmallow