Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用FastAPI进行URL重定向

使用FastAPI进行URL重定向

作者头像
SeanCheney
发布于 2023-01-10 06:24:23
发布于 2023-01-10 06:24:23
6.1K00
代码可运行
举报
文章被收录于专栏:SeanCheney的专栏SeanCheney的专栏
运行总次数:0
代码可运行

代码示例都来自于FastAPI的官方文档。示例代码写的很好,基本复制一下就能用了。

第一种方法,是直接返回一个RedirectResponse对象,默认的HTTP码是307

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from fastapi import FastAPI
from fastapi.responses import RedirectResponse

app = FastAPI()


@app.get("/typer")
async def redirect_typer():
    return RedirectResponse("https://typer.tiangolo.com")

也可以将RedirectResponse对象作为参数response_class的值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from fastapi import FastAPI
from fastapi.responses import RedirectResponse

app = FastAPI()


@app.get("/fastapi", response_class=RedirectResponse)
async def redirect_fastapi():
    return "https://fastapi.tiangolo.com"

这样做的好处,是返回的就是URL字符串,可以很方便地用一个函数对其进行处理。

如果想换成其它的status_code,放到get函数中即可:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from fastapi import FastAPI
from fastapi.responses import RedirectResponse

app = FastAPI()


@app.get("/pydantic", response_class=RedirectResponse, status_code=302)
async def redirect_pydantic():
    return "https://pydantic-docs.helpmanual.io/"

以上就是官方文档提供的代码。为了使运行更为便捷,添加上main函数,完整代码如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding: UTF-8 -*-
# main.py

import uvicorn
from fastapi import FastAPI
from fastapi.responses import RedirectResponse

app = FastAPI()

@app.get("/pydantic", response_class=RedirectResponse, status_code=302)
async def redirect_pydantic():
    return "https://pydantic-docs.helpmanual.io/"

if __name__ == '__main__':
    uvicorn.run(
        app='main:app',
        host="0.0.0.0",
        port=302,
        workers=4,
        reload=True,
        debug=True)

此时,在本机浏览器访问http://127.0.0.1:302/pydantic,网页就自动跳转到https://pydantic-docs.helpmanual.io/上了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
FastAPI(46)- JSONResponse
https://www.cnblogs.com/poloyy/p/15364635.html
小菠萝测试笔记
2021/10/09
1.4K0
FastAPI(46)- JSONResponse
FastAPI(43)- 基于 pytest + requests 进行单元测试
https://www.cnblogs.com/poloyy/tag/Pytest/
小菠萝测试笔记
2021/10/09
1.8K0
FastAPI(43)- 基于 pytest + requests 进行单元测试
FastAPI官方教程太棒了(下)
status_code也可以是IntEnum,比如Python的http.HTTPStatus。
dongfanger
2022/11/21
2.8K0
FastAPI官方教程太棒了(下)
从 Flask 切到 FastAPI 后,起飞了!
本文翻译自 Moving from Flask to FastAPI, 作者:Amal Shaji
Python编程与实战
2024/03/04
2K0
从 Flask 切到 FastAPI 后,起飞了!
FastApi响应体统一封装
前面我们介绍的 FastApi 响应体都是使用不同的结构体进行的,有 str、list、json 等,但是这在前后台分离的场景下是不友好的。为了方便前端处理,我们一般会使用统一的数据结构作为响应。
Python研究所
2022/06/17
1.8K0
FastApi响应体统一封装
FastAPI(50)- 自定义响应之 RedirectResponse
更多自定义响应类型 JSONResponse ORJSONResponse、UJSONResponse HTMLResponse、PlainTextResponse StreamingResponse、FileResponse RedirectResponse 作用 返回一个 HTTP 重定向响应 默认情况下使用 307 状态码(临时重定向) 实际代码 from fastapi import FastAPI from fastapi.responses import RedirectResponse a
小菠萝测试笔记
2021/10/09
8760
FastAPI(50)- 自定义响应之 RedirectResponse
API 接口开发也没那么难,Python FastAPI Web 框架教程来了!
一、FastApi 1.FastAPI 可以做什么 它由 Sebastian Ramirez 开发 开发网站 开发 web API 做一个测试平台 做一个持续集成工具 生成文档 2.为什么要学习 FastAPI FastAPI 的使用方法和设计参考了几十个 python 明星项目 博采众长 吸收各家精华 FastAPI 和 Flask 一样简约 FastAPI 非常新 并且基于 python3.6 的类型声明系统 自动生成文档 类型声明和数据检验 内置身份认证 性能强 原生支持异步 强大的依赖注入系统 Gr
用户6888863
2023/03/01
4.1K0
API 接口开发也没那么难,Python FastAPI Web 框架教程来了!
FastAPI学习-环境准备与基础入门
FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示。
wencheng
2022/04/18
7730
FastAPI学习-环境准备与基础入门
FastAPI--依赖注入之Depends(8)
看官网的描述Depends的使用,似乎比较懵懵懂懂的,于是乎还是需要花些时间再次学习一下关于依赖注入。
py3study
2020/07/01
2.1K0
FastAPI--中间件(6)
所谓的中间件,其实和我们bottle中的中间件作用是一致。有些方法或操作需要在所有路由之前执行,比如要加一个http访问的拦截器,可以对部分接口API需要授权才能访问的接口进行验证之类的。
py3study
2020/06/30
1.7K0
FastAPI--中间件(6)
FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse
上面的栗子中,Response Header 的 Content-type 将为 text/html,并且会记录在 OpenAPI 中
小菠萝测试笔记
2021/10/09
1.2K0
FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse
FastAPI--错误处理(5)
再之前Bottle 中其实有一个就是HttpError异常类,在FastAPI也存在这么一个HTTPException。比如:
py3study
2020/06/28
1.4K0
FastAPI 构建 API 高性能的 web 框架(二)
参考:https://fastapi.tiangolo.com/zh/tutorial/body-multiple-params/
悟乙己
2023/08/10
5560
FastAPI学习- uvicorn设置 logger 日志格式
FastAPI 服务是通过 uvicorn 来提供的,日志都是 uvicorn 里配置的。 官方文档地址:https://www.uvicorn.org/settings/#logging
上海-悠悠
2024/01/17
3K0
FastAPI学习- uvicorn设置 logger 日志格式
(进阶篇)Python web框架FastAPI——一个比Flask和Tornada更高性能的API 框架
上一篇已经初步了解了 FastAPI 的基本使用,但是如果想要真正把 FastAPI 部署上线到服务器,那么你需要了解更多,学习更多。所以本篇内容将注重于 FastAPI 的项目生产环境,诸如 数据库,路由蓝图,数据验证等问题在 FastAPI 中的具体操作和一些自己碰到的坑,分享给正在进攻 FastAPI 的各位小伙伴。
Python进阶者
2020/04/08
2.7K0
(进阶篇)Python web框架FastAPI——一个比Flask和Tornada更高性能的API 框架
FastAPI--快速入门(1)
注意事项,因为FastAPI仅支持Python3.6+的API,所以需要再Python3.6+的环境进行学习实践!
py3study
2020/06/22
1.7K0
FastAPI--快速入门(1)
(入门篇)简析Python web框架FastAPI——一个比Flask和Tornada更高性能的API 框架
用官方的话来说,FastAPI 是一种现代,快速(高性能)的 Web 框架,基于标准Python 类型提示使用 Python 3.6+ 构建 API
用户7466307
2020/06/17
2.2K0
数据库和ORMS:使用Tortoise ORM与数据库通信
learn from 《Building Data Science Applications with FastAPI》
Michael阿明
2022/11/27
3.2K0
数据库和ORMS:使用Tortoise ORM与数据库通信
Python创建接口项目(FastAPI)及人脸识别
我们要实现一个人脸识别的功能,人脸识别的都是调用本地的图片,所以我们搭建一个接口服务来提供图片的上传。
码客说
2022/06/15
1.9K0
(完结篇)Python web框架FastAPI——一个比Flask和Tornada更高性能的API 框架
前几天给大家分别分享了(入门篇)简析Python web框架FastAPI——一个比Flask和Tornada更高性能的API 框架和(进阶篇)Python web框架FastAPI——一个比Flask和Tornada更高性能的API 框架。今天欢迎大家来到 FastAPI 系列分享的完结篇,本文主要是对于前面文章的补充和扩展。
Python进阶者
2020/04/10
3.4K0
(完结篇)Python web框架FastAPI——一个比Flask和Tornada更高性能的API 框架
推荐阅读
相关推荐
FastAPI(46)- JSONResponse
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验