我的理解是,Flask中的request.args
包含来自GET
请求的URL编码参数,而request.form
包含POST
数据。我很难理解的是,为什么在发送POST
请求时,尝试使用request.form
访问数据时会返回400
错误,而当我尝试使用request.args
访问数据时,它似乎工作得很好。
我尝试使用Postman
和curl
发送请求,结果是相同的。
curl -X POST -d {"name":"Joe"} http://127.0.0.1:8080/testpoint --header "Content-Type:application/json"
代码:
@app.route('/testpoint', methods = ['POST'])
def testpoint():
name = request.args.get('name', '')
return jsonify(name = name)
发布于 2014-04-28 04:53:36
您的curl中的json数据是错误的,因此Flask不会将数据解析为表单。
像这样发送数据:'{"name":"Joe"}'
curl -X POST -d '{"name":"Joe"}' http://example.com:8080/testpoint --header "Content-Type:application/json"
https://stackoverflow.com/questions/23326368
复制相似问题