前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用FastAPI进行URL重定向

使用FastAPI进行URL重定向

作者头像
SeanCheney
发布2023-01-10 14:24:23
5.2K0
发布2023-01-10 14:24:23
举报
文章被收录于专栏:SeanCheney的专栏

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

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

代码语言:javascript
复制
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
复制
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
复制
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
复制
# -*- 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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档