示例代码
from flask import Flask, jsonify, request
app = Flask(__name__)
# GET 请求处理函数
@app.route('/example', methods=['GET'])
def get_example():
return jsonify({'message': 'This is a GET request'})
# POST 请求处理函数
@app.route('/example', methods=['POST'])
def post_example():
data = request.get_json()
return jsonify({'message': 'This is a POST request', 'data': data})
# PUT 请求处理函数
@app.route('/example', methods=['PUT'])
def put_example():
data = request.get_json()
return jsonify({'message': 'This is a PUT request', 'data': data})
# DELETE 请求处理函数
@app.route('/example', methods=['DELETE'])
def delete_example():
return jsonify({'message': 'This is a DELETE request'})
if __name__ == '__main__':
app.run(debug=True)
原理说明
- 路由定义:
@app.route
装饰器用于定义URL路由。在上述代码中,/example
是定义的路由路径。
- HTTP方法指定:通过
methods
参数指定该路由支持的HTTP方法,如 ['GET', 'POST', 'PUT', 'DELETE']
分别对应不同的HTTP操作。
- 处理函数:每个HTTP方法对应的函数负责处理该方法的请求。例如
get_example
函数处理GET请求,post_example
函数处理POST请求等。在POST和PUT函数中,通过 request.get_json()
获取请求中的JSON数据。jsonify
函数用于将Python字典转换为JSON格式的响应,方便在HTTP响应中返回数据。