從 HTTP 請求接收 JSON

如果 HTTP 請求的 mimetype 是 application/json,則呼叫 request.get_json() 將返回解析的 JSON 資料(否則返回 None

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/api/echo-json', methods=['GET', 'POST', 'DELETE', 'PUT'])                                                                                                    
def add():                                                                                                                              
    data = request.get_json()
    # ... do your business logic, and return some response
    # e.g. below we're just echo-ing back the received JSON data
    return jsonify(data)

嘗試使用 curl

引數 -H 'Content-Type: application/json'指定這是一個 JSON 請求:

 curl -X POST -H 'Content-Type: application/json' http://127.0.0.1:5000/api/echo-json -d '{"name": "Alice"}'               
{
  "name": "Alice"
}

要使用其他 HTTP 方法傳送請求,請使用所需的方法替換 curl -X POST,例如 curl -X GETcurl -X PUT 等。