dar*_*sky 5 python json http flask
我正在尝试向API中添加DELETE方法,如下所示:
if request.method == 'DELETE':
if request.headers['Content-Type'] == 'application/json':
try:
data = json.loads(request.data)
data_id = data['id']
db.execute('DELETE FROM places WHERE id=' + data_id)
db.commit()
resp = Response({"Delete Success!"}, status=200, mimetype='application/json')
return resp
except (ValueError, KeyError, TypeError):
resp = Response({"JSON Format Error."}, status=400, mimetype='application/json')
return resp
Run Code Online (Sandbox Code Playgroud)
我正在传递以下CURL:
curl -H "Content-type: applicaiton/json" -X DELETE http://localhost:5000/location -d '{"id":3}'
Run Code Online (Sandbox Code Playgroud)
尝试除外块由于某种原因而失败。我无法发现问题所在。有什么想法可以调试吗?
如果你改变
except (ValueError, KeyError, TypeError):
resp = Response({"JSON Format Error."}, status=400, mimetype='application/json')
return resp
Run Code Online (Sandbox Code Playgroud)
到
except (ValueError, KeyError, TypeError) as error:
print error
resp = Response({"JSON Format Error."}, status=400, mimetype='application/json')
return resp
Run Code Online (Sandbox Code Playgroud)
你将能够看到你的错误。
更新:我很高兴您发现了错误!我认为大多数包装数据库连接的模块都允许您执行以下操作:
db.execute('SELECT * FROM awesome_table WHERE id=%s', data_id)
Run Code Online (Sandbox Code Playgroud)
他们通常会提供一些基本的 SQL 注入保护。
| 归档时间: |
|
| 查看次数: |
4926 次 |
| 最近记录: |