我设置了flask_restful API,但希望用户在进行post调用时传递numpy数组。我首先尝试从flask_restful使用reqparse
,但是它不支持numpy.array的数据类型。我正在尝试使用棉花糖(flask_marshmallow),但是在理解参数如何传递到API时遇到了麻烦。
在我能够执行类似操作之前,
from flask_restful import reqparse
parser = reqparse.RequestParser()
parser.add_argument('url', type=str)
parser.add_argument('id', type=str, required=True)
但是现在我不确定如何将其转换为棉花糖。我已经设置好了:
from flask_marshmallow import Marshmallow
app = Flask(__name__)
ma = Marshmallow(app)
class MySchema(ma.Schema):
id = fields.String(required=True)
url = fields.String()
但是在使用新定义的架构进行呼叫时,如何加载用户传递的内容?
答案 0 :(得分:0)
我不知道长颈瓶棉花糖,而文档仅显示如何使用它来序列化响应。
我想要反序列化请求,您需要使用由棉花糖团队开发和维护的webargs。
from marshmallow import Schema, fields
from webargs.flaskparser import use_args
class UserSchema(Schema):
id = fields.Int(dump_only=True) # read-only (won't be parsed by webargs)
username = fields.Str(required=True)
password = fields.Str(load_only=True) # write-only
first_name = fields.Str(missing="")
last_name = fields.Str(missing="")
date_registered = fields.DateTime(dump_only=True)
@use_kwargs(UserSchema())
def profile_update(username, password, first_name, last_name):
update_profile(username, password, first_name, last_name)
# ...