从 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 GET
,curl -X PUT
等。