Construye APIs web con Python: rutas, validación con Pydantic, base de datos, autenticación JWT y despliegue.
Aprende a crear APIs con FastAPI: endpoints, parámetros, validación con Pydantic, dependencias, base de datos con SQLAlchemy, autenticación con JWT, testing y despliegue, con simuladores que responden como una API real.
Contenido del curso
Unidad 1: Primeros Pasos con FastAPI
Repasa HTTP, REST y JSON, conoce qué es FastAPI, prepara tu entorno, crea tu primer endpoint y explora la documentación que genera automáticamente.
HTTP, REST y JSON: repaso rápido
¿Qué es FastAPI y por qué usarlo?
Entorno virtual, instalación y servidor
Tu primer endpoint
Documentación automática: Swagger y ReDoc
¡Clasifica los códigos de estado HTTP!
Empareja conceptos de FastAPI
Prueba de la unidad
Unidad 2: Rutas y Parámetros
Recibe datos en tus endpoints: parámetros de ruta, de consulta y cabeceras, con validación automática, filtros, orden y paginación.
Parámetros de ruta
El orden de las rutas importa
Parámetros de consulta
Validar con Query y Path
Mini-proyecto: buscador de productos
¿Por dónde viaja el dato?
Empareja código y significado
Prueba de la unidad
Unidad 3: Cuerpo de la Petición y Pydantic
Recibe JSON con modelos Pydantic: campos obligatorios y opcionales, restricciones con Field, modelos anidados, validadores y lectura de los errores 422.
BaseModel y el cuerpo de la petición
Leer los errores de validación
Campos opcionales y Field
Modelos anidados y listas
Registro de usuarios con validación
Ahorcado: términos de Pydantic
Memoria: errores 422
Prueba de la unidad
Unidad 4: Respuestas y Manejo de Errores
Devuelve el código de estado correcto, lanza HTTPException, filtra la salida con response_model, separa modelos de entrada y salida y personaliza los manejadores de errores.
Códigos de estado
HTTPException: errores controlados
response_model: filtrar la respuesta
Modelos de entrada y de salida
Manejadores de errores personalizados
Ordena el viaje de la petición
¿Qué estado devuelves?
Prueba de la unidad
Unidad 5: Un CRUD Completo
Diseña rutas REST y construye crear, leer, actualizar (PUT y PATCH) y eliminar, ordenando el proyecto con APIRouter.
Diseño REST: recursos y métodos
Crear y leer
PUT vs PATCH
Eliminar y ciclo CRUD completo
APIRouter y estructura del proyecto
Memorice: peticiones CRUD
Retos de respuesta corta
Prueba de la unidad
Unidad 6: Dependencias y Base de Datos
Reutiliza lógica con Depends, conecta la API a una base de datos con SQLAlchemy, separa modelos ORM de esquemas Pydantic y versiona los cambios con Alembic.
Qué es Depends
Dependencias encadenadas y con yield
SQLAlchemy: conexión, sesión y modelos
CRUD con base de datos
Modelos ORM, esquemas y relaciones
Migraciones con Alembic
Crucigrama: dependencias y base de datos
Ordena el ciclo de la sesión
Prueba de la unidad
Unidad 7: Autenticación y Seguridad
Protege tu API: hash de contraseñas, login con OAuth2, tokens JWT, rutas protegidas, roles, CORS y buenas prácticas de seguridad.
Autenticación, autorización y hash de contraseñas
Login con OAuth2
JWT por dentro
Rutas protegidas y usuario actual
Roles y permisos
CORS y buenas prácticas
Autenticación o autorización
Empareja conceptos de seguridad
Prueba de la unidad
Unidad 8: Testing, Despliegue y Evaluación Final
Prueba tu API con pytest y TestClient, configúrala con variables de entorno, entiende async y las tareas en segundo plano, despliégala con Docker y cierra el curso con una evaluación final.