Una dintre cele mai puternice funcționalități din FastAPI este parametrul response_model plasat în decoratorul rutei. Acesta definește modelul Pydantic folosit pentru a filtra, valida și serializa datele returnate de funcție.
Chiar dacă funcția returnează din baza de date un dicționar complet ce include câmpul password_hash, FastAPI va elimina automat orice atribut care nu este declarat în response_model, garantând că datele sensibile nu ajung niciodată la client.
Exemplu: Separarea modelului intern de modelul public prin response_model
from fastapi import FastAPI
from pydantic import BaseModel, EmailStr
app = FastAPI()
class UserInDB(BaseModel):
username: str
email: EmailStr
hashed_password: str
is_admin: bool
class UserPublic(BaseModel):
username: str
email: EmailStr
@app.get("/users/me", response_model=UserPublic)
async def get_current_user():
user = UserInDB(
username="dexter",
email="dexter@dexblog.ro",
hashed_password="bcrypt$secure$hash",
is_admin=True
)
# FastAPI va returna DOAR username și email către client:
return user
Întrebări & Exemple de Cod:
Parametrul response_model în FastAPIAi o nelămurire despre utilizarea comenzii
Parametrul response_model î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.