GET 与 POST 路由
71.9 GET 与 POST 路由
@app.route('/api/users', methods=['GET']) 只接受 GET。
methods=['POST'] 处理 POST;同一 URL 不同方法可实现 REST 风格。
GET 列表
# ========================================
# 示例:GET 返回列表
# ========================================
from flask import Flask, jsonify
app = Flask(__name__)
students = [
{'id': 1, 'name': '小明', 'score': 92},
{'id': 2, 'name': '小红', 'score': 88},
]
@app.route('/api/students', methods=['GET'])
def list_students():
return jsonify({'code': 0, 'data': students})
POST 添加
# ========================================
# 示例:POST 接收 JSON
# ========================================
from flask import Flask, jsonify, request
app = Flask(__name__)
students = []
next_id = 1
@app.route('/api/students', methods=['POST'])
def add_student():
global next_id
body = request.get_json(force=True) # 解析 JSON 请求体
if not body or 'name' not in body:
return jsonify({'code': 400, 'message': '缺少 name'}), 400
item = {'id': next_id, 'name': body['name'], 'score': body.get('score', 0)}
next_id += 1
students.append(item)
return jsonify({'code': 0, 'data': item}), 201