FastAPI 中如何使用 RedirectResponse?

推荐答案

在 FastAPI 中,RedirectResponse 用于将客户端重定向到另一个 URL。以下是一个简单的示例,展示了如何在 FastAPI 中使用 RedirectResponse

-- -------------------- ---- -------
---- ------- ------ -------
---- ----------------- ------ ----------------

--- - ---------

--------------------
----- --- ----------
    ------ --------------------------------

--------------------
----- --- ----------
    ------ ----------- -------- -- --- --- ------

在这个示例中,当用户访问 /old-url 时,他们将被重定向到 /new-url,并看到 {"message": "Welcome to the new URL!"} 的响应。

本题详细解读

1. 导入 RedirectResponse

首先,你需要从 fastapi.responses 模块中导入 RedirectResponseRedirectResponse 是一个特殊的响应类,用于处理 HTTP 重定向。

2. 创建 FastAPI 应用

接下来,创建一个 FastAPI 应用实例:

3. 定义路由和处理函数

你可以定义一个路由 /old-url,并在其处理函数中返回 RedirectResponseRedirectResponseurl 参数指定了重定向的目标 URL。

在这个例子中,当用户访问 /old-url 时,他们将被重定向到 /new-url

4. 定义目标路由

你还需要定义目标路由 /new-url,以便用户在被重定向后能够看到内容。

5. 运行 FastAPI 应用

最后,运行 FastAPI 应用,用户就可以通过访问 /old-url 来体验重定向功能了。

6. 其他注意事项

  • RedirectResponse 默认使用 HTTP 状态码 307(临时重定向)。如果你想使用其他状态码,比如 301(永久重定向),可以通过 status_code 参数指定:

  • RedirectResponse 也可以用于重定向到外部 URL,只需将完整的 URL 传递给 url 参数即可。

通过以上步骤,你可以在 FastAPI 中轻松实现 URL 重定向功能。

纠错
反馈