from fastapi import FastAPI, HTTPException from typing import Dict from app.models import Item, ItemCreate app = FastAPI(title="FastAPI Example") # 内存存储 _items: Dict[int, Item] = {} _item_id_counter = 0 @app.get("/health") async def health_check(): return {"status": "ok"} @app.post("/items", response_model=Item) async def create_item(item: ItemCreate): global _item_id_counter _item_id_counter += 1 new_item = Item(id=_item_id_counter, **item.model_dump()) _items[_item_id_counter] = new_item return new_item @app.get("/items", response_model=list[Item]) async def list_items(): return list(_items.values()) @app.get("/items/{item_id}", response_model=Item) async def get_item(item_id: int): if item_id not in _items: raise HTTPException(status_code=404, detail="Item not found") return _items[item_id]