En este tutorial, aprenderás cómo cambiar el código de estado HTTP a un redireccionamiento utilizando el parámetro status_code
en FastAPI.
FastAPI es un moderno framework web para Python que facilita la creación de APIs rápidas y seguras. Permite crear endpoints de forma sencilla y eficiente, utilizando decoradores para definir las operaciones HTTP que soporta cada endpoint.
En ocasiones, es necesario redirigir al usuario a otra URL en lugar de devolver una respuesta directamente. Para hacer esto en FastAPI, se puede utilizar el parámetro status_code
en el decorador de una función de manejo de rutas.
A continuación, te mostraremos un ejemplo de cómo redirigir a un usuario a una URL específica en función de un parámetro de la solicitud.
Primero, crea un archivo app.py
con el siguiente código:
<!DOCTYPE html>
<html>
<head>
<title>Redireccionamiento</title>
</head>
<body>
<h1>¡Redirección exitosa!</h1>
</body>
</html>
A continuación, importa las bibliotecas necesarias y crea una aplicación FastAPI con una ruta de redireccionamiento en el archivo app.py
:
from fastapi import FastAPI, HTTPException
app = FastAPI()
@app.get("/redirect")
async def redirect_to_url(url: str):
if url == "example":
return RedirectResponse(url="/redirected", status_code=302)
else:
raise HTTPException(status_code=400, detail="URL no válida")
En este código, hemos definido una ruta /redirect
que acepta un parámetro url
en la solicitud GET. Si el valor de url
es "example", la función redirect_to_url
devolverá un redireccionamiento con un código de estado 302 (Found) a la URL /redirected
. De lo contrario, se lanzará una excepción HTTP con un código de estado 400 (Bad Request) y un mensaje de error.
Para probar la ruta de redireccionamiento, ejecuta la aplicación con uvicorn:
uvicorn app:app --reload
Luego, abre un navegador y navega a http://localhost:8000/redirect?url=example
. Deberías ser redirigido a la página http://localhost:8000/redirected
con un mensaje "Redirección exitosa".
¡Y eso es todo! Ahora sabes cómo cambiar el código de estado HTTP a un redireccionamiento utilizando el parámetro status_code
en FastAPI. ¡Espero que este tutorial te haya sido útil!