示例:通常用于从 URL 中提取标识资源的参数,例如用户 ID 或产品 ID。
@app.route('/user/')
def get_user(user_id):
# 查询数据库或其他数据源以获取用户详细信息
return f'User ID: {user_id}'
示例:接收客户端传递的额外参数 ,用于实现搜索功能
@app.route('/search')
def search():
query = request.args.get('q')
# 使用查询参数执行搜索操作
return f'Search query: {query}'
3.1. 认证信息: 在HTTP请求头中包含认证令牌,通常用于身份验证。例如,Bearer令牌可以在Authorization
标头中传递。
from flask import request
@app.route('/api/protected')
def protected_resource():
auth_header = request.headers.get('Authorization')
if auth_header and auth_header.startswith('Bearer '):
token = auth_header[7:] # 提取Bearer令牌
# 验证令牌并提供访问受保护的资源
return 'Access granted'
else:
return 'Unauthorized', 401
3.2 自定义标头: 你可以在HTTP请求中添加自定义标头,以在请求中传递特定的信息。
from flask import request
@app.route('/api/custom')
def custom_header():
custom_value = request.headers.get('X-Custom-Header')
if custom_value:
# 处理自定义标头中的值
return f'Custom value: {custom_value}'
else:
return 'Custom header not found'
4.1表单数据
username = request.form.get('username')
4.2 文本数据
data = request.data
4.3 json数据
data = request.json
4.4 文件上传
file = request.files['file']