Deși FastAPI încurajează extragerea declarativă a parametrilor prin Pydantic sau adnotări specifice, există situații în care ai nevoie de acces direct la obiectul de cerere HTTP de nivel jos: inspectarea adresei IP a clientului, citirea schemei de conexiune (HTTP/HTTPS) sau accesarea dicționarului request.state.
Declarând un parametru cu tipul Request (importat din fastapi), framework-ul injectează automat instanța Starlette a cererii curente.
Exemplu: Preluarea adresei IP reale și a metodei HTTP cu Request
from fastapi import FastAPI, Request
app = FastAPI()
@app.get("/client-info")
async def get_client_info(request: Request):
client_host = request.client.host if request.client else "Necunoscut"
user_agent = request.headers.get("user-agent", "Necunoscut")
return {
"client_ip": client_host,
"method": request.method,
"url": str(request.url),
"user_agent": user_agent
}
Întrebări & Exemple de Cod:
Obiectul Request în FastAPIAi o nelămurire despre utilizarea comenzii
Obiectul Request în FastAPIsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.