FastAPI gira su ASGI, quindi una request attraversa una pipeline async: l'ASGI server la accetta, il middleware la avvolge, il router abbina un path, le dependency vengono risolte, la tua path operation viene eseguita, e il valore di ritorno viene serializzato nella response.
Le fasi
uvicorn (ASGI server)
│ scope + receive/send
▼
ASGI / Starlette middleware ── (CORS, GZip, custom)
▼
Routing ── abbina method + → operation
▼
Dependencies (Depends) ── risolvi -deps, security, -setup
▼
Path operation 