Technology · Backend
FastAPI es un framework moderno de Python para construir APIs de alto rendimiento, con validación automática, documentación interactiva y soporte asíncrono. Combina la simplicidad de Python con lo que suelen necesitar las aplicaciones empresariales: tipado, validación, autenticación, inyección de dependencias, documentación y concurrencia.
Una aplicación moderna rara vez es un solo bloque: un frontend, una app móvil y varios servicios necesitan comunicarse. La API es lo que los conecta.
FastAPI recibe solicitudes, valida los datos, ejecuta la lógica y devuelve una respuesta estructurada. Por basarse en estándares como OpenAPI y JSON Schema, genera automáticamente documentación y esquemas que otros sistemas pueden consumir.
Una API es una serie de endpoints. FastAPI usa las anotaciones de tipos para saber qué espera cada operación.
El int no es solo documentación para el programador: FastAPI lo usa para validar la entrada automáticamente y generar parte de la documentación. Si llega algo que no es un entero, responde con un error apropiado sin código manual.
Cuando una app pasa buena parte del tiempo esperando (bases de datos, otras APIs, red), el modelo asíncrono aprovecha esa espera para atender otras solicitudes en vez de bloquearse.
Sobre un stack Starlette / ASGI. Pero async no significa que todo deba ser asíncrono: las funciones normales (def) también son válidas y corren en un threadpool. La estrategia depende de qué hace cada endpoint.
Una API recibe datos de sistemas externos que pueden venir mal. Con Pydantic se declara la estructura esperada y el framework rechaza lo que no cumpla.
La documentación deja de ser un archivo aparte que alguien mantiene a mano: se genera desde el propio código y es parte del contrato de la API. Distintos equipos pueden probar los endpoints desde el navegador.
No obliga a meter todo en un archivo. Se pueden separar responsabilidades a medida que la complejidad aumenta.
Un endpoint declara qué necesita —usuario autenticado, permisos, conexión a DB, configuración— y FastAPI se lo provee. Esas dependencias se reutilizan entre endpoints y quedan en el esquema OpenAPI.
Lo que no necesita bloquear la respuesta (enviar un email, generar un reporte) se traslada a tareas en background — BackgroundTasks para lo simple, Celery/ARQ/colas para lo pesado.
Es, de hecho, la forma del backend de este mismo sistema: un monolito modular con el dominio (cálculo puro) separado de los servicios (orquestación e I/O).
Cada tecnología se especializa en lo suyo: la interfaz web de un lado, la lógica de negocio, los datos y las integraciones del otro.