PTENES
Saltar al contenido
MÓDULO 5.3

🚀 FastAPI y servicios web

Crear APIs profesionales desde cero con FastAPI. Modelos Pydantic, CRUD, autenticación, documentación automática y deploy. El camino de script a servicio.

6
Temas
~50
Minutos
5.2
Requisito previo
Práctico
Tipo
Progreso:0%0 de 6
1

⚡ FastAPI desde cero

FastAPI es el framework de Python más rápido para crear APIs modernas. Con type hints nativos, validación automática y rendimiento async, pasas de cero a una API funcional en minutos. Pídele a Claude Code: "cria uma FastAPI com endpoint de health check".

main.py
from fastapi import FastAPI

app = FastAPI(title="Minha API", version="0.1.0")

@app.get("/health")
async def health():
    return {"status": "ok"}

@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str | None = None):
    return {"item_id": item_id, "q": q}

# Rodar: uvicorn main:app --reload

En 1 frase: FastAPI + uvicorn = API en funcionamiento en 5 líneas de código.

2

📐 Modelos Pydantic

Pydantic transforma clases de Python en esquemas validados automáticamente. Si el cliente envía datos incorrectos, FastAPI devuelve 422 con el error exacto. Claude Code genera modelos Pydantic perfectos a partir de ejemplos de JSON.

models.py
from pydantic import BaseModel, Field

class ItemCreate(BaseModel):
    name: str = Field(..., min_length=1, max_length=100)
    price: float = Field(..., gt=0)
    tags: list[str] = []

class ItemResponse(ItemCreate):
    id: int

En 1 frase: Pydantic valida los datos automáticamente; los datos incorrectos nunca llegan a tu código.

3

🔁 Endpoints CRUD

Create, Read, Update, Delete. Toda API empieza con CRUD. FastAPI asigna cada operación a un verbo HTTP: POST para crear, GET para leer, PUT para actualizar, DELETE para eliminar. Claude Code genera un CRUD completo con un prompt: "cria CRUD de items com FastAPI".

En 1 frase: POST/GET/PUT/DELETE = las cuatro operaciones que toda API necesita.

4

🔒 Middleware y autenticación

El middleware intercepta las solicitudes antes de que lleguen a los endpoints. CORS, la limitación de solicitudes y la autenticación van aquí. FastAPI usa Depends() para inyección de dependencias: crea una función de autenticación e inyéctala en cualquier ruta.

Nunca hagas esto

Una API pública sin auth, sin CORS configurado y sin rate limiting es una invitación al abuso.

En 1 frase: Depends() + middleware = seguridad en cada request sin repetir código.

5

📄 Documentación automática (Swagger)

FastAPI genera documentación interactiva automáticamente en /docs (Swagger UI) y /redoc (ReDoc). Cada endpoint, modelo y parámetro aparece documentado. Pruebas la API directamente en el browser sin Postman.

En 1 frase: /docs = documentación viva que se actualiza sola con el código.

6

🌍 Deploy local y remoto

Local: uvicorn main:app --reload. Producción: gunicorn main:app -w 4 -k uvicorn.workers.UvicornWorker. Para un deploy remoto, empaqueta con Docker (próximo módulo) y envía a Railway, Fly.io o cualquier VPS con un proxy inverso (nginx/Caddy).

terminal
# Dev
uvicorn main:app --reload --port 8000

# Producao
gunicorn main:app -w 4 -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000

En 1 frase: uvicorn para desarrollo, gunicorn para producción, Docker para deploy.

🧾 Resumen del módulo

✓
FastAPI crea API modernas con anotaciones de tipos nativas.
✓
Pydantic valida los datos automáticamente.
✓
CRUD es el estándar universal de las API.
✓
Auth + middleware protegen tus endpoints.
✓
/docs documenta la API automáticamente.
✓
Deploy con uvicorn (dev) y gunicorn (prod).

Siguiente módulo:

5.4 — Pruebas automatizadas: pytest, TDD y coverage.