Flask RESTful API:对多个资源的PUT请求

时间:2017-11-03 15:49:55

标签: python python-3.x api flask flask-restful

我正在使用Flask-RESTful处理API以处理" shares"。目前我有几种方法(GETPOSTPUTDELETE),一切都很完美。今天我可以通过到达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是否适合这种新案例。你能救我吗?

0 个答案:

没有答案