Pular para o conteudo
MODULO 5.3

🚀 FastAPI e Web Services

Criar APIs profissionais do zero com FastAPI. Modelos Pydantic, CRUD, autenticacao, docs automaticas e deploy. O caminho de script para servico.

6
Topicos
~50
Minutos
5.2
Pre-requisito
Pratico
Tipo
Progresso:0%0 de 6
1

⚡ FastAPI do zero

FastAPI e o framework Python mais rapido para construir APIs modernas. Com type hints nativos, validacao automatica e performance async, voce sai do zero a uma API funcional em minutos. Peca ao 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

Em 1 frase: FastAPI + uvicorn = API no ar em 5 linhas de codigo.

2

📐 Modelos Pydantic

Pydantic transforma classes Python em schemas validados automaticamente. Se o cliente mandar dados errados, FastAPI retorna 422 com o erro exato. Claude Code gera modelos Pydantic perfeitos a partir de exemplos 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

Em 1 frase: Pydantic valida dados automaticamente; dados errados nunca chegam ao seu codigo.

3

🔁 Endpoints CRUD

Create, Read, Update, Delete. Toda API comeca com CRUD. FastAPI mapeia cada operacao a um verbo HTTP: POST para criar, GET para ler, PUT para atualizar, DELETE para remover. Claude Code gera um CRUD completo em um prompt: "cria CRUD de items com FastAPI".

Em 1 frase: POST/GET/PUT/DELETE = as quatro operacoes que toda API precisa.

4

🔒 Middleware e auth

Middleware intercepta requests antes de chegar nos endpoints. CORS, rate limiting e autenticacao vivem aqui. FastAPI usa Depends() para injecao de dependencias: crie uma funcao de auth e injete em qualquer rota.

Nunca faca isto

API publica sem auth, sem CORS configurado e sem rate limiting. E convite pra abuso.

Em 1 frase: Depends() + middleware = seguranca em cada request sem repetir codigo.

5

📄 Docs automaticas (Swagger)

FastAPI gera documentacao interativa automaticamente em /docs (Swagger UI) e /redoc (ReDoc). Cada endpoint, modelo e parametro aparece documentado. Voce testa a API direto no browser sem Postman.

Em 1 frase: /docs = documentacao viva que se atualiza sozinha com o codigo.

6

🌍 Deploy local e remoto

Local: uvicorn main:app --reload. Producao: gunicorn main:app -w 4 -k uvicorn.workers.UvicornWorker. Para deploy remoto, empacote com Docker (proximo modulo) e envie para Railway, Fly.io ou qualquer VPS com reverse proxy (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

Em 1 frase: uvicorn para dev, gunicorn para producao, Docker para deploy.

🧾 Resumo do Modulo

FastAPI cria APIs modernas com type hints nativos.
Pydantic valida dados automaticamente.
CRUD e o padrao universal de APIs.
Auth + middleware protegem seus endpoints.
/docs documenta a API automaticamente.
Deploy com uvicorn (dev) e gunicorn (prod).

Proximo modulo:

5.4 — Testing Automatizado: pytest, TDD e coverage.