Redirecionamento HTTP - FastAPI
No FastAPI, o redirecionamento de rotas é realizado utilizando a classe RedirectResponse
Response
No exemplo a seguir, ao acessar a rota "/old"
"/new"
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("Nova página")
Uma alternativa mais direta é especificar a classe de resposta no decorador da rota. Dessa forma, o redirecionamento pode ser definido apenas retornando o endereço de destino:
@app.get("/old", response_class=RedirectResponse)
def old():
return "/new"
Além de redirecionar dentro da aplicação, é possível apontar o redirecionamento para URLs absolutas. No exemplo abaixo, a rota "/old"
@app.get("/old")
def old():
return RedirectResponse("https://www.programicio.com/python/fastapi")
Personalizando o Código de Status HTTP
Por padrão, o RedirectResponse
status_code
@app.get("/old")
def old():
return RedirectResponse("/new", status_code=301)
Também é possível definir o código de status diretamente no decorador:
@app.get("/old", response_class=RedirectResponse, status_code=301)
def old():
return "/new"
Com essas opções, é possível personalizar o redirecionamento de rotas no FastAPI de acordo com as necessidades do projeto.