This FastAPI app lets you add, get, update, and delete items using simple web requests. It stores items in a dictionary for easy access.
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
id: int
name: str
description: str | None = None
items = {}
@app.post("/items/")
async def create_item(item: Item):
items[item.id] = item
return {"message": "Item created", "item": item}
@app.get("/items/{item_id}")
async def read_item(item_id: int):
item = items.get(item_id)
if item:
return item
return {"error": "Item not found"}
@app.put("/items/{item_id}")
async def update_item(item_id: int, item: Item):
if item_id in items:
items[item_id] = item
return {"message": "Item updated", "item": item}
return {"error": "Item not found"}
@app.delete("/items/{item_id}")
async def delete_item(item_id: int):
if item_id in items:
removed = items.pop(item_id)
return {"message": "Item deleted", "item": removed}
return {"error": "Item not found"}