3 回答
TA贡献1815条经验 获得超6个赞
那是因为你只返回文本 'JSON Posted'
所以返回你想要得到的
像 json 响应:
return jsonify({'status': 0, 'msg': 'success'})
细节
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/postjson', methods = ['POST'])
def postJsonHandler():
content = request.json
print(content)
return jsonify(content)
app.run(host='0.0.0.0')
调用示例:
requests.post('http://0.0.0.0:5000/postjson', json={'a':'b'}).json()
TA贡献2037条经验 获得超6个赞
当您使用print()
它时,它只是将所有内容打印到控制台,因此请在运行应用程序时检查它以查看打印输出。您从视图中返回的内容(“JSON 发布”)是作为响应发送回客户端的内容。
TA贡献1840条经验 获得超5个赞
当您使用curl
访问路由时,它只会向您显示该路由返回的内容 - 在这种情况下,即JSON posted
. 它不会向您显示介于两者之间的打印语句。您可以尝试在调试模式下运行烧瓶。这应该打印到您运行此应用程序的控制台。
编辑:需要明确的是,您仍然不会收到作为对请求的答复发送的数据,即在 Postman 中。为此,您必须在函数结束时使用return request.get_json()
添加回答
举报