【发布时间】:2018-01-16 20:17:37
【问题描述】:
我有一个接受一些 POST 数据的 Flask 视图。我可以使用 curl 将数据作为表单编码或 JSON 发布。无论客户以哪种方式发布数据,我如何获取数据?
from flask import request
@app.route('/', methods=['GET', 'POST'])
def refresh():
# empty when posted as JSON
print(request.form)
# empty when posted as form-encoded
print(request.data)
return 'Hello, World!'
curl -XPOST -H "Content-Type: application/json" 'http://127.0.0.1:5000/?thing1=1' -d '{"thing2":2}'
curl -XPOST 'http://127.0.0.1:5000/?thing1=1' -d '{"thing2":2}'
curl -XGET 'http://127.0.0.1:5000/?thing1=1' -d '{"thing2":2}'
【问题讨论】:
-
您阅读过 API 文档吗? flask.pocoo.org/docs/0.12/api/#flask.Request
-
是的。我肯定读过文档。费解后,观察到的行为与文档中描述的一致。文档没有描述访问请求负载的始终有效的方法。