FastAPI 中如何使用 Cookie 获取 Cookie?

· 约 3 分钟读完 · 第 34 / 128 章

推荐答案

在 FastAPI 中,可以通过 Cookie 参数来获取请求中的 Cookie。以下是一个简单的示例:

在这个示例中,session_id 是从请求的 Cookie 中提取的。如果请求中没有 session_id 这个 Cookie,session_id 的值将为 None。

本题详细解读

1. 导入必要的模块

首先,需要从 fastapi 模块中导入 FastAPI 和 Cookie。FastAPI 是用于创建 API 的主要类,而 Cookie 是一个依赖项,用于从请求中提取 Cookie。

2. 创建 FastAPI 实例

接下来,创建一个 FastAPI 实例,这个实例将用于定义路由和处理请求。

3. 定义路由和处理函数

定义一个路由 /items/,并创建一个异步处理函数 read_items。在这个函数中,使用 Cookie 参数来提取请求中的 session_id Cookie。

4. 处理 Cookie

在 read_items 函数中,session_id 参数被声明为 Cookie 类型。Cookie(None) 表示如果请求中没有 session_id 这个 Cookie,session_id 的值将为 None。

5. 返回响应

最后,函数返回一个包含 session_id 的 JSON 响应。如果请求中有 session_id Cookie,它将包含在响应中;如果没有,响应中的 session_id 将为 None。

6. 运行应用

要运行这个 FastAPI 应用,可以使用以下命令:

其中 main 是包含上述代码的 Python 文件名(不包括 .py 扩展名),app 是 FastAPI 实例的名称。

通过这种方式,你可以在 FastAPI 中轻松地获取和处理请求中的 Cookie。