더북(TheBook)

hello_fastapi/main.py

# 새 아이템 등록
@app.post("/items")
def create_item_handler(item: Item):
    return {"message": f"아이템 '{item.name}'이(가) 추가되었습니다.", "item": item}

# 경로 변수, 쿼리 파라미터, 요청 본문 혼합 사용
@app.put("/items/{item_id}")
def update_item_handler(item_id: int, assignee: str, item: Item):
    return {
        "item_id": item_id,
        "assignee": assignee, # 담당자 또는 작업자
        "item": item
    }

item_id는 경로 변수로 개별 아이템을 식별하기 위해 경로에서 추출해 사용합니다.

assignee는 쿼리 파라미터로 경로 끝에 ‘?assignee=값’을 추출해 사용합니다.

item은 요청 본문으로, 클라이언트가 전송한 JSON 데이터를 Item 모델로 변환하고 타입 및 유효성을 검증합니다.