
FastAPI
Follow these patterns to use status codes effectively in your APIs.
@app.get("/items/{item_id}", status_code=200) # ✓ Explicit
async def get_item(item_id: int):
return item
@app.post("/items", status_code=201) # ✓ Resource created
async def create_item(item: Item):
return item
@app.delete("/items/{item_id}", status_code=204) # ✓ No content
async def delete_item(item_id: int):
return None@app.get("/items/{item_id}")
async def get_item(item_id: int):
item = db.get(item_id)
# Check for errors first
if not item:
raise HTTPException(status_code=404, detail="Not found")
# Return success
return item@app.post("/users")
async def create_user(user: User):
if db.user_exists(user.email):
raise HTTPException(
status_code=409,
detail="User with this email already exists"
)
return db.create(user)Always use the same codes for similar operations across your API.
Resources
Ojasa Mirai
Master AI-powered development skills through structured learning, real projects, and verified credentials. Whether you're upskilling your team or launching your career, we deliver the skills companies actually need.
Learn Deep • Build Real • Verify Skills • Launch Forward