Introducción
Este curso de Creación de APIs con Python ofrece una formación práctica orientada a profesionales que desean diseñar, implementar y desplegar APIs RESTful robustas usando Python. En 20 horas online y en directo, se abordarán las herramientas y conceptos más actuales (frameworks, validación de datos, seguridad, conexión a bases de datos, despliegue), de forma que los participantes puedan construir APIs efectivas desde cero con buenas prácticas de desarrollo. El enfoque es técnico, funcional y pensado para su uso en entornos reales de negocio.
Objetivos
Al completar el curso, los participantes podrán:
- Comprender los fundamentos de las APIs RESTful y su arquitectura en Python.
- Configurar un entorno de desarrollo adecuado (entornos virtuales, dependencias).
- Crear endpoints CRUD (GET, POST, PUT, DELETE), gestionando rutas, parámetros, respuestas y errores.
- Validar datos de entrada/salida usando esquemas adecuados.
- Conectar la API con bases de datos (relacionales o NoSQL), efectuar operaciones de creación, lectura, actualización y borrado.
- Implementar seguridad y control de acceso (autenticación/autorización) cuando aplique.
- Aplicar buenas prácticas de codificación, estructura de proyecto, documentación automática de la API y mantenimiento.
- Preparar la API para producción: testing, despliegue, gestión de dependencias, modularidad.
Índice de Contenidos
Módulo 1. Fundamentos de APIs y preparación del entorno
- Qué es una API, tipos (REST, RESTful) y cuándo usarlas.
- Arquitectura general de una API: cliente-servidor, rutas, endpoints, verbos HTTP.
- Configuración del entorno de desarrollo: entornos virtuales, dependencias con pip, estructura básica de proyecto.
- Instalación de herramientas esenciales (framework, servidor de desarrollo).
Módulo 2. Introducción a un framework moderno: FastAPI (u opción alternativa: Flask)
- ¿Por qué usar FastAPI / Flask para APIs con Python? diferencias principales.
- Configuración inicial del proyecto (instalación, estructura, servidor).
- Creación de rutas básicas: endpoints, parámetros de ruta y consulta (path, query params), respuestas JSON.
Módulo 3. Operaciones CRUD y manipulación de datos
- Métodos HTTP principales: GET, POST, PUT, DELETE — creación, lectura, actualización y eliminación.
- Definición de modelos de datos / esquemas para entrada y salida — validación con herramientas propias del framework (ej: usando tipado, serialización).
- Manejo de errores, respuestas y códigos de estado HTTP apropiados.
- Introducción a bases de datos: SQL / NoSQL según contexto.
- Integración desde la API: configuración de conexión, modelos de datos, ORM o interfaz directa.
- Operaciones CRUD persistentes: crear, consultar, actualizar, eliminar registros desde la API.
- Mantenimiento de consistencia de datos, manejo de transacciones, errores de BD.
Módulo 5. Seguridad, autenticación y autorización
- Principios de seguridad en APIs: control de acceso, autenticación, autorización.
- Implementación de mecanismos de autenticación (tokens, JWT u otros métodos según necesidades).
- Protección de rutas, manejo de usuarios/roles si aplica.
- Buenas prácticas para evitar vulnerabilidades comunes (inyecciones, control de datos, validaciones).
Módulo 6. Documentación automática y pruebas
- Generación automática de documentación (interactiva) de la API — uso de herramientas propias del framework.
- Esquemas de request/response, validaciones y validación de contratos.
- Testing básico de endpoints: pruebas funcionales, respuesta esperada, errores.
- Manejo de errores y excepciones, respuestas consistentes.
Módulo 7. Buenas prácticas, estructura, despliegue y mantenimiento
- Organización modular del proyecto: carpetas, módulos, separaciones lógicas.
- Gestión de dependencias, entornos virtuales, configuración.
- Preparación para producción: consideraciones de seguridad, rendimiento, escalabilidad.
- Opciones de despliegue en entorno real (servidor, contenedor, cloud), mantenimiento y actualización.
Buenas prácticas de documentación, mantenimiento y versionado.