Inscríbete para acceder a todas las lecciones de este curso.
Lección 1 de 21· Arranque: tu API en marcha
Si ya escribes Python con funciones, clases y colecciones, tienes justo lo necesario para dar el siguiente salto: convertir tu código en un servicio web que otras aplicaciones puedan consumir. En este proyecto construirás, de principio a fin, una API REST para una biblioteca comunitaria de barrio con FastAPI y Pydantic.
Nada de teoría interminable ni de "hola mundo" que se olvida en cinco minutos. Vas a modelar datos reales, diseñar rutas, manejar errores como en producción, inyectar dependencias, escribir pruebas automáticas y terminar con una API documentada y lista para desplegar — el tipo de artefacto que puedes enseñar en tu portafolio.
Y sí: puedes hacer esto. Avanzarás por hitos claros, cada paso construye sobre el anterior, y en cada lección ejecutarás código real y verás el resultado al instante.
Toda la API gira en torno a una biblioteca de barrio con tres recursos que se relacionan entre sí. Los mismos datos semilla te acompañarán en todo el proyecto, así que construyes una sola API coherente, no ejercicios sueltos.
| Recurso | Qué representa | Campos clave |
|---|---|---|
| Libro | Un título del catálogo | id, titulo, autor, isbn, anio, copias_disponibles |
| Socio | Una persona registrada | id, nombre, email, activo |
| Préstamo | Un libro prestado a un socio | id, libro_id, socio_id, fecha_prestamo, devuelto |
Un préstamo conecta un libro con un socio, y ahí es donde aparecen las reglas de negocio interesantes: no se puede prestar un libro sin copias disponibles, ni a un socio inactivo. Empezaremos por lo simple (el CRUD de libros) y subiremos la dificultad poco a poco.
Este es el conjunto de recursos y endpoints que tendrás funcionando al final del proyecto. No hace falta que entiendas cada verbo todavía — es tu mapa de ruta, y lo iremos llenando lección a lección.
Estas lecciones corren dentro de tu navegador, con Python ejecutándose del lado del cliente. Eso es genial porque no instalas nada para practicar — pero tiene un límite importante:
En el navegador no se puede levantar un servidor. No podrás correr
uvicornni abrirhttp://localhost:8000aquí.
Eso no es un problema: FastAPI incluye una herramienta hecha justo para esto. Usaremos el TestClient para enviar peticiones a tu aplicación en memoria, sin red y sin servidor, y recibir respuestas reales:
from fastapi import FastAPI
from fastapi.testclient import TestClient
app = FastAPI()
@app.get("/salud")
def salud():
return {"estado": "ok"}
cliente = TestClient(app)
respuesta = cliente.get("/salud")
print(respuesta.status_code) # 200
print(respuesta.json()) # {'estado': 'ok'}Esta es exactamente la misma técnica que usan los equipos profesionales para probar sus APIs, así que no es un truco de juguete: es una habilidad que te llevarás al trabajo real. En el último módulo verás cómo pasar de aquí a levantar el servidor de verdad en tu propia máquina.
Suficiente panorama — es hora de escribir código. En la siguiente lección crearás tu primera ruta de FastAPI en 5 minutos: definirás una app, un endpoint que devuelve JSON, y lo llamarás con TestClient para ver tu API responder por primera vez.
Vamos a por esa primera victoria. 🚀
Gratis