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()
添加回答
舉報