Error handling
- 웹서버를 안정적으로 운영하기 위해 반드시 필요한 주제
- 서버에서 Error가 발생한 경우, 어떤 Error가 발생했는지 식별
- 요청한 클라이언트에 해당 정보를 전달하여 대응
- 모니터링 도구를 사용해 Error log를 수집
- 발생하는 오류를 빠르게 수정할 수 있도록 예외처리를 구성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from fastapi import FastAPI, HTTPException
import uvicorn
app = FastAPI()
items={
1: "AI",
2: "Backend,
3: "Infrastructure"
}
@app.get("v1/{item_id}")
async def find_by_id(item_id: int):
return items[item_id]
@app.get("/v2/{item_id}")
async def find_by_id(item_id: int):
try:
item=items[item_id]
except KeyError:
raise HTTPException(status_code=404, detail=f"아이템을 찾을 수 없습니다. [id: {item_id}]")
return item