我正在使用Flask-RESTful处理API以处理" shares"。目前我有几种方法(GET
,POST
,PUT
和DELETE
),一切都很完美。今天我可以通过到达PUT
(其中id是共享的id)并在正文中发送/api/v1/shares/{id}
参数来更新单个共享的备份(通过backup
方法)。 / p>
这是我的资源文件片段,名为shares.py:
class ShareList(Resource):
def __init__(self):
self.reqparse = reqparse.RequestParser()
self.reqparse.add_argument(
'name',
required=True,
help='No name provided',
location=['form', 'json']
)
self.reqparse.add_argument(
'backup',
required=True,
help='No backup class provided',
location=['form', 'json']
)
super().__init__()
def get(self):
blablabla
def post(self):
blablabla
class Share(Resource):
def __init__(self):
self.reqparse = reqparse.RequestParser()
self.reqparse.add_argument(
'backup',
required=True,
location=['form', 'json']
)
super().__init__()
def get(self, id):
blablabla
def put(self, id):
blablabla
def delete(self, id):
blablabla
shares_api = Blueprint('resources.shares', __name__)
api = Api(shares_api)
api.add_resource(
ShareList,
'/shares',
endpoint='share_list'
)
api.add_resource(
Share,
'/shares/<string:id>',
endpoint='share'
)
现在,我会尝试更新多个资源。最好的方法是将PUT
请求发送给/api/v1/shares
,包括此机构:
{
"id1" : {"backup": "Gold"},
"id2" : {"backup": "No backup"}
}
但我不知道如何处理这个案子。我不确定RequestParser是否适合这种新案例。你能救我吗?