Aprender FastAPI Middleware y CORS

Módulo del curso de FastAPI

FastAPI
FastAPI
Módulo del curso
3 lecciones
Actualizado: 18/04/2026

Módulo: Middleware y CORS

Este módulo forma parte del curso de FastAPI. Incluye 3 lecciones .

Middleware y CORS en FastAPI

El middleware es una capa de software que se ejecuta entre la recepción de una petición y el envío de la respuesta. En FastAPI, el middleware permite interceptar, modificar o enriquecer tanto las peticiones entrantes como las respuestas salientes, siendo un mecanismo fundamental para implementar funcionalidades transversales.

¿Qué es el middleware?

En el contexto de una API web, el middleware actúa como un intermediario universal que procesa todas las peticiones antes de que lleguen a los endpoints y todas las respuestas antes de ser enviadas al cliente. Esto lo convierte en el lugar ideal para implementar funcionalidades como registro de peticiones, medición de tiempos, transformación de datos o control de acceso.

from fastapi import FastAPI, Request
import time

app = FastAPI()

@app.middleware("http")
async def medir_tiempo_respuesta(request: Request, call_next):
    inicio = time.time()
    respuesta = await call_next(request)
    duracion = time.time() - inicio
    respuesta.headers["X-Process-Time"] = str(duracion)
    return respuesta

Este ejemplo añade automáticamente a cada respuesta el tiempo que tardó en procesarse.

CORS y acceso entre dominios

CORS (Cross-Origin Resource Sharing) es un mecanismo de seguridad del navegador que controla qué dominios pueden realizar peticiones a tu API. Sin una configuración adecuada, los navegadores bloquearán las peticiones que provengan de dominios distintos al de la API.

FastAPI incluye el CORSMiddleware de Starlette para gestionar este aspecto de forma declarativa, especificando exactamente qué orígenes, métodos y cabeceras están permitidos.

Middleware integrado en Starlette

FastAPI hereda de Starlette varios middleware listos para usar que cubren los casos más comunes:

  • CORSMiddleware: Control de acceso entre dominios
  • TrustedHostMiddleware: Validación del header Host
  • GZipMiddleware: Compresión automática de respuestas
  • HTTPSRedirectMiddleware: Redirección forzada a HTTPS
  • SessionMiddleware: Gestión de sesiones con cookies firmadas

Estos middleware se añaden con app.add_middleware() y se configuran mediante parámetros específicos de cada uno.

Middleware personalizado

Más allá de los middleware integrados, FastAPI permite crear middleware personalizados para cualquier necesidad específica: añadir cabeceras de seguridad, registrar actividad en una base de datos, inyectar identificadores de correlación en las peticiones o transformar el cuerpo de la respuesta.

Los middleware son una herramienta poderosa para mantener el código DRY (Don't Repeat Yourself) cuando una lógica debe aplicarse de forma transversal a todos los endpoints.

Lecciones de este módulo

Explora todas las lecciones disponibles en Middleware y CORS

Todos los módulos del curso

Navega entre los módulos de FastAPI

Explora más sobre FastAPI

Descubre más recursos de FastAPI

Alan Sastre - Autor del curso

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, FastAPI es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.