Skip to content
FastAPI

Pydantic Request Body

Validate JSON bodies with Pydantic models.

#pydantic#request-body#validation

Code

fastapi
from pydantic import BaseModel, Field, EmailStr
from fastapi import FastAPI

app = FastAPI()

class UserIn(BaseModel):
    name: str = Field(..., min_length=1, max_length=50)
    email: EmailStr
    age: int = Field(0, ge=0, le=150)
    tags: list[str] = []

@app.post("/users")
def create_user(user: UserIn):
    return {"created": user}

@app.put("/users/{user_id}")
def update_user(user_id: int, user: UserIn):
    return {"user_id": user_id, "user": user}