这是我在使用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
答案 0 :(得分:1)
在&#34; UNLOCKED&#34;。
之前,您有太多的公开引号但如果您使用单引号,那么您的命令会更简单:
curl ... -d '{"lock state":"UNLOCKED"}' ...