Flask框架参数类型以及获取方法

1、路径参数

示例:通常用于从 URL 中提取标识资源的参数,例如用户 ID 或产品 ID。

@app.route('/user/')
def get_user(user_id):
    # 查询数据库或其他数据源以获取用户详细信息
    return f'User ID: {user_id}'

2、查询参数

示例:接收客户端传递的额外参数 ,用于实现搜索功能

@app.route('/search')
def search():
    query = request.args.get('q')
    # 使用查询参数执行搜索操作
    return f'Search query: {query}'

3、请求头参数

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、请求体参数

4.1表单数据

username = request.form.get('username')

4.2 文本数据

 data = request.data

4.3 json数据

data = request.json

4.4 文件上传

file = request.files['file']

你可能感兴趣的:(flask,python)