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

使用FastAPI进行URL重定向

作者头像
SeanCheney
发布于 2023-01-10 06:24:23
发布于 2023-01-10 06:24:23
6.2K00
代码可运行
举报
文章被收录于专栏: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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
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.3K0
API 接口开发也没那么难,Python FastAPI Web 框架教程来了!
从 Flask 切到 FastAPI 后,起飞了!
本文翻译自 Moving from Flask to FastAPI, 作者:Amal Shaji
Python编程与实战
2024/03/04
2.1K0
从 Flask 切到 FastAPI 后,起飞了!
FastAPI-API文档和自动化测试(三)
虽然 FastAPI 可以自动生成 API 文档,但有时您可能需要自定义文档的某些部分。为此,FastAPI 提供了一种方式来扩展自动生成的文档。
堕落飞鸟
2023/05/07
1K0
FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse
上面的栗子中,Response Header 的 Content-type 将为 text/html,并且会记录在 OpenAPI 中
小菠萝测试笔记
2021/10/09
1.2K0
FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse
FastApi响应体统一封装
前面我们介绍的 FastApi 响应体都是使用不同的结构体进行的,有 str、list、json 等,但是这在前后台分离的场景下是不友好的。为了方便前端处理,我们一般会使用统一的数据结构作为响应。
Python研究所
2022/06/17
1.8K0
FastApi响应体统一封装
(完结篇)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
https://www.cnblogs.com/poloyy/p/15364635.html
小菠萝测试笔记
2021/10/09
1.4K0
FastAPI(46)- JSONResponse
fastapi 安全性 / APIRouter / BackgroundTasks / 元数据 / 测试调试
learn from https://fastapi.tiangolo.com/zh/tutorial/security/first-steps/
Michael阿明
2022/01/07
1.3K0
fastapi 安全性 / APIRouter / BackgroundTasks / 元数据 / 测试调试
fastapi 请求文件 / 表单 / 处理错误 / 路径操作配置 / jsonable_encoder
learn from https://fastapi.tiangolo.com/zh/tutorial/request-files/
Michael阿明
2022/01/07
1.3K0
fastapi 请求文件 / 表单 / 处理错误 / 路径操作配置 / jsonable_encoder
(进阶篇)Python web框架FastAPI——一个比Flask和Tornada更高性能的API 框架
上一篇已经初步了解了 FastAPI 的基本使用,但是如果想要真正把 FastAPI 部署上线到服务器,那么你需要了解更多,学习更多。所以本篇内容将注重于 FastAPI 的项目生产环境,诸如 数据库,路由蓝图,数据验证等问题在 FastAPI 中的具体操作和一些自己碰到的坑,分享给正在进攻 FastAPI 的各位小伙伴。
Python进阶者
2020/04/08
2.8K0
(进阶篇)Python web框架FastAPI——一个比Flask和Tornada更高性能的API 框架
FastAPI官方教程太棒了(下)
status_code也可以是IntEnum,比如Python的http.HTTPStatus。
dongfanger
2022/11/21
2.8K0
FastAPI官方教程太棒了(下)
FastAPI(27)- Handling Errors 处理错误
当请求包含无效数据时,FastAPI 会在内部引发 RequestValidationError,它还包括一个默认的异常处理程序
小菠萝测试笔记
2021/09/27
1.2K0
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
8940
FastAPI(50)- 自定义响应之 RedirectResponse
FastAPI--错误处理(5)
再之前Bottle 中其实有一个就是HttpError异常类,在FastAPI也存在这么一个HTTPException。比如:
py3study
2020/06/28
1.4K0
手把手教你入门Python中的Web开发框架,干货满满!!
说到web开发框架,小编平常用Flask和Django的比较多,其中的Flask属于是轻量级的开发框架,写一个API接口也是十分地方便,不过今天我们要介绍的框架FastAPI同样在Python开发者当中有着较好地口碑,那么在开始之前,我们先要安装好需要用到的模块,通过pip命令
用户6888863
2023/03/01
5890
手把手教你入门Python中的Web开发框架,干货满满!!
FastAPI 构建 API 高性能的 web 框架(二)
参考:https://fastapi.tiangolo.com/zh/tutorial/body-multiple-params/
悟乙己
2023/08/10
5850
使用FastAPI构建机器学习API
FastAPI是用于在Python中构建API的高性能异步框架。 它提供了对Swagger UI开箱即用的支持。
计算机与AI
2020/12/14
1.2K0
FastAPI学习-环境准备与基础入门
FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示。
wencheng
2022/04/18
7840
FastAPI学习-环境准备与基础入门
HTTP用户基本认证
浏览器遇到服务器响应需要Basic验证时,会跳出一个小窗口用来输入用户名和密码,如果没有携带此header头信息服务器端会返回401状态码,并携带header头信息:
YaoQi
2025/07/14
830
HTTP用户基本认证
对FastApi的API进行限速
今天啊,我的朋友小绿跟我说,那天晚上有个人好快好快!我急忙问他,怎么回事?有多快!他说,他的资源分发接口被人以很快的速度攻击了。速度达到了 10000qps,这对于他那 0.1C125M 的机器来说简直是小车拉大牛,真费车。
Python研究所
2022/06/17
1.4K0
对FastApi的API进行限速
推荐阅读
相关推荐
API 接口开发也没那么难,Python FastAPI Web 框架教程来了!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验