Topics in this subject
FastAPI 2 min read Updated 11 Aug 2026

FastAPI Cheat Sheet

Quick reference for common FastAPI syntax and patterns.

🧑‍🏫 Sabse pehle — simple mein samjho#

FastAPI ka quick reference page. Bookmark karke rakho!

1. Basic App Setup & Running#

from fastapi import FastAPI
app = FastAPI()

@app.get("/")
async def root():
    return {"status": "ok"}
    
# Run in terminal: uvicorn main:app --reload

2. Pydantic Models (Body Validation)#

from pydantic import BaseModel, EmailStr

class UserBase(BaseModel):
    username: str
    email: EmailStr
    age: int | None = None # Optional

@app.post("/users/")
async def create_user(user: UserBase):
    return user.model_dump() # Convert to dictionary

3. Path & Query Parameters#

# Path parameter (user_id) and Query parameter (skip)
@app.get("/users/{user_id}")
async def read_user(user_id: int, skip: int = 0):
    return {"id": user_id, "skip": skip}

4. Customizing Responses#

from fastapi import status

# Custom Response Model & 201 Created Status
@app.post("/items/", response_model=ItemOut, status_code=status.HTTP_201_CREATED)
async def create_item():
    pass

5. Dependency Injection#

from fastapi import Depends

def common_params(q: str | None = None, limit: int = 100):
    return {"q": q, "limit": limit}

@app.get("/search/")
async def search(commons: dict = Depends(common_params)):
    return commons

6. Error Handling#

from fastapi import HTTPException

@app.get("/users/{user_id}")
async def read_user(user_id: int):
    if user_id > 1000:
        raise HTTPException(status_code=404, detail="User not found")

7. APIRouter#

# routers/users.py
from fastapi import APIRouter
router = APIRouter(prefix="/users", tags=["users"])

@router.get("/")
async def get_all(): pass

# main.py
app.include_router(users.router)

8. CORS Middleware#

from fastapi.middleware.cors import CORSMiddleware

app.add_middleware(
    CORSMiddleware,
    allow_origins=["http://localhost:5173"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)