示例:通常用于从 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']