PUT请求在窗口上使用cURL和烧瓶

时间:2015-07-24 13:30:31

标签: python curl put

这是我在使用flask制作的其余web api中的PUT方法的代码片段。

    @app.route('/lock-api/api/v1.0/items/<int:item_id>', methods=['PUT'])
    def update_item(item_id):
    item = [item for item in items if item['id'] == item_id]

    if len(item) == 0:
       abort(404)

    if not request.json:
       abort(400)

    if 'lock state' in request.json and type(request.json['lock state']) != unicode:
       abort(400)

    item[0]['lock state'] = request.json.get('item', item[0]['lock state'])
    return jsonify({'item': item[0]})    

PUT请求的curl命令是

    curl -i -H "Content-Type: application/json" -X PUT -d "{"""lock state""":""""UNLOCKED"""}" http://localhost:5000/lock-api/api/v1.0/items/2

此命令应该更新同一文件中数组(项)中条目的锁状态,其中包含2个字段&#39; id&#39;并且“锁定状态”&#39;但是没有这样做。谁能告诉我有什么问题?我尝试添加一个追加,但它只是在该数组中添加一个数组而不是更新它。 THANKYOU

1 个答案:

答案 0 :(得分:1)

在&#34; UNLOCKED&#34;。

之前,您有太多的公开引号

但如果您使用单引号,那么您的命令会更简单:

curl ... -d '{"lock state":"UNLOCKED"}' ...