O FastAPI roda sobre ASGI, então uma requisição percorre um pipeline assíncrono: o servidor ASGI a aceita, o middleware a envolve, o router casa uma rota, as dependências são resolvidas, sua operação de rota (path operation) roda e o valor de retorno é serializado na resposta.
As etapas
uvicorn (ASGI server)
│ scope + receive/send
▼
ASGI / Starlette middleware ── (CORS, GZip, custom)
▼
Routing ── casa método + rota → operation
▼
Dependencies (Depends) ── resolve sub-deps, security, yield-setup
▼
operation function ── seu handler roda
▼
Response model ── valida + serializa para JSON
▼
tasks ── rodam depois que resposta é enviada
▼
Response ──▶ client
