Переадресация

Последнее обновление: 06.09.2022

Для переадресации в приложении FastAPI применяется класс RedirectResponse (класс-наследник от Response). В качестве обязательного параметра конструктор RedirectResponse принимает адрес для перенаправления:

import mimetypes
from fastapi import FastAPI
from fastapi.responses import RedirectResponse, PlainTextResponse

app = FastAPI()

@app.get("/old")
def old():
    return RedirectResponse("/new")

@app.get("/new")
def new():
    return PlainTextResponse("Новая страница")

В данном случае при обращении по пути "/old" происходит перенаправление по пути "/new". Альтернативный вариант:

@app.get("/old", response_class= RedirectResponse)
def old():
    return "/new"

Также можно перенаправлять по абсолютному адресу:

@app.get("/old")
def old():
    return RedirectResponse("https://metanit.com/python/fastapi")

По умолчанию RedirectResponse отправляет статусный код 307 (временная переадресация). Если такое положение не устраивает, то можно задать статусный код переадресации с помощью параметра status_code:

@app.get("/old")
def old():
    return RedirectResponse("/new", status_code=302)

или так

@app.get("/old", response_class= RedirectResponse, status_code=302)
def old():
    return "/new"
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850