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=["*"],
)