Для переадресации в приложении 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"