FastAPI - Database Integration
You want to create a FastAPI endpoint to update an item only if it exists, otherwise return a 404 error. Which code snippet correctly implements this behavior?
A:
@app.put("/items/{item_id}")
async def update_item(item_id: int, item: dict):
items[item_id] = item
return item
B:
@app.put("/items/{item_id}")
async def update_item(item_id: int, item: dict):
if item_id not in items:
return {"error": "Not found"}
items[item_id] = item
return item
C:
from fastapi import HTTPException
@app.put("/items/{item_id}")
async def update_item(item_id: int, item: dict):
if item_id not in items:
raise HTTPException(status_code=404, detail="Item not found")
items[item_id] = item
return item
D:
@app.put("/items/{item_id}")
async def update_item(item_id: int, item: dict):
try:
items[item_id] = item
except KeyError:
return {"error": "Not found"}
return item