1from datetime import datetime
2from typing import Optional
3
4from fastapi import FastAPI
5from fastapi.encoders import jsonable_encoder
6from fastapi.responses import JSONResponse
7from pydantic import BaseModel
8
9
10class Item(BaseModel):
11    title: str
12    timestamp: datetime
13    description: Optional[str] = None
14
15
16app = FastAPI()
17
18
19@app.put("/items/{id}")
20def update_item(id: str, item: Item):
21    json_compatible_item_data = jsonable_encoder(item)
22    return JSONResponse(content=json_compatible_item_data)
23