Contenido del curso
FastAPI Path Operations
Validaciones con Pydantic
Autenticación en FastAPI
Conexión con bases de datos en FastAPI
- 19

SQLAlchemy: el ORM de FastAPI
01:01 min - 20

Instalación y configuración de SQLAlchemy
06:48 min - 21

Creación de modelos con SQLAlchemy
05:35 min - 22

Registro de datos con SQLAlchemy
03:19 min - 23

Consulta de datos con SQLAlchemy
07:25 min - 24

Modificación y eliminación de datos con SQLAlchemy
05:44 min - 25

SQLModel: el futuro ORM de FastAPI
01:59 min
Modularización
Despliegue de Aplicación en FastAPI
Próximos pasos
Bonus
Manejo de errores y middlewares en FastAPI
Resumen
¿Cómo crear un middleware para el manejo de errores en FastAPI?
El manejo de errores es fundamental al desarrollar aplicaciones con FastAPI, ya que permite identificar y solventar rápidamente los problemas que puedan surgir. En este módulo, aprenderás a crear un middleware específico para capturar errores de forma global, simplificando así su gestión.
Paso 1: Crear la estructura del middleware
Para comenzar a crear tu middleware, sigue estos pasos iniciales:
-
Crea una carpeta:
- Llama a esta carpeta
Middlewarese incluye un archivo__init__.pypara que Python lo reconozca como módulo.
- Llama a esta carpeta
-
Crear archivo para el manejador de errores:
- Crea un archivo dentro de la carpeta
MiddlewaresllamadoerrorHandler.py.
- Crea un archivo dentro de la carpeta
Paso 2: Desarrollar la clase errorHandler
Esta clase será el corazón del middleware que manejará los errores en tu aplicación FastAPI.
from starlette.middleware.base import BaseHTTPMiddleware from fastapi import FastAPI, Request, Response from fastapi.responses import JSONResponse class ErrorHandler(BaseHTTPMiddleware): def __init__(self, app: FastAPI): super().__init__(app) async def dispatch(self, request: Request, call_next): try: return await call_next(request) except Exception as e: return JSONResponse( content={"error": str(e)}, status_code=500 )
Paso 3: Integrar el middleware en tu aplicación
Para que el middleware funcione, es necesario añadirlo al archivo principal de la aplicación.
- Modificar main.py:
- Importa la clase
ErrorHandlerdesde el archivoerrorHandler.py.
- Importa la clase
from middlewares.errorHandler import ErrorHandler from fastapi import FastAPI app = FastAPI() app.add_middleware(ErrorHandler)
- Con esta configuración, tu aplicación podrá detectar y manejar errores proporcionando respuestas concisas y útiles.
¿Cómo probar el middleware?
Verificar que el middleware funcione correctamente es fundamental. Prueba eliminar caracteres en funciones críticas o induce errores deliberadamente:
- Elimina paréntesis o comas en funciones como el método
consultar por id. - Actualiza la aplicación y utiliza la documentación para verificar la respuesta de los endpoints.
- Observa cómo el middleware devuelve un código 500, mostrando el error interno del servidor de manera clara.
¿Cómo organizar mejor el proyecto?
Mantener el proyecto ordenado hace más eficiente el desarrollo. Por ejemplo, puedes mover otros middlewares, como el de autenticación que hayas creado previamente.
- Mover el middleware de autenticación:
- Crea un archivo
jwt-verify.pydentro de la carpetaMiddlewares. - Traslada el código relacionado al nuevo archivo.
- Asegúrate de importar las funciones y excepciones desde FastAPI y otros archivos necesarios.
- Crea un archivo
from fastapi import HTTPException, Request from some_module import validateToken # ejemplo de función importada desde otro módulo class JwtVerifyMiddleware(BaseHTTPMiddleware): # Implementación...
Este orden te permitirá tener un mejor control sobre los middlewares de tu aplicación y preparar el terreno para el uso de routers en módulos posteriores.
¡Sigue aprendiendo y reforzando tus habilidades para ser un experto en FastAPI! Con el conocimiento de middleware que has adquirido, estarás mejor preparado para manejar errores y organizar tu proyecto.