Skip to content
FastAPI

Response Model

Shape and filter responses with response_model.

#response#pydantic

Code

fastapi
from pydantic import BaseModel
from fastapi import FastAPI

app = FastAPI()

class UserIn(BaseModel):
    username: str
    password: str

class UserOut(BaseModel):
    username: str
    id: int

@app.post("/users", response_model=UserOut)
def create_user(user: UserIn):
    stored = {"username": user.username, "password": "hashed", "id": 1}
    return stored

@app.get("/users/{uid}", response_model=list[UserOut])
def list_users(uid: int):
    return [{"username": "alice", "id": 1}, {"username": "bob", "id": 2}]