Request Handling
Learn how to handle different types of HTTP requests in FastAPI.
HTTP Methods
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/")
def read_items():
return [{"item_id": "Foo"}]
@app.post("/items/")
def create_item(item: dict):
return item
@app.put("/items/{item_id}")
def update_item(item_id: int, item: dict):
return {"item_id": item_id, **item}
@app.delete("/items/{item_id}")
def delete_item(item_id: int):
return {"message": f"Item {item_id} deleted"}
Path Parameters
@app.get("/users/{user_id}/items/{item_id}")
def read_user_item(user_id: int, item_id: str):
return {"user_id": user_id, "item_id": item_id}
Query Parameters
@app.get("/items/")
def read_items(skip: int = 0, limit: int = 10):
return fake_items_db[skip : skip + limit]
Request Body
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: float
is_offer: bool = False
@app.post("/items/")
def create_item(item: Item):
return item