4.2 FastAPI에서 JSON 처리하기

약 4분

본문 듣기
읽기 설정

글자 크기

줄 간격

글꼴

4.2 FastAPI에서 JSON 처리하기

FastAPI는 JSON 데이터를 쉽게 처리할 수 있도록 설계된 강력한 웹 프레임워크입니다. 이번 섹션에서는 FastAPI를 사용하여 JSON 데이터를 생성, 읽기, 업데이트 및 삭제하는 CRUD 작업을 수행하는 방법을 배웁니다. 이를 위해 간단한 실습 프로젝트를 진행해보겠습니다.

실습 프로젝트: Todo 애플리케이션

  1. 프로젝트 세팅: FastAPI와 필요한 패키지를 설치합니다.
    pip install fastapi uvicorn pydantic
    
  2. 애플리케이션 코드 작성: main.py라는 파일을 생성하고 다음 코드를 작성합니다.
코드 python
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel

app = FastAPI()

# Todo 아이템 모델 정의
class TodoItem(BaseModel):
    id: int
    task: str
    completed: bool = False

# 메모리 내에서 Todo 아이템을 저장할 리스트
fake_todo_db = []

# Todo 아이템 생성
@app.post("/todos/")
async def create_todo(todo_item: TodoItem):
    fake_todo_db.append(todo_item)
    return todo_item

# Todo 아이템 읽기
@app.get("/todos/{todo_id}")
async def read_todo(todo_id: int):
    for todo in fake_todo_db:
        if todo.id == todo_id:
            return todo
    raise HTTPException(status_code=404, detail="Todo not found")

# Todo 아이템 업데이트
@app.put("/todos/{todo_id}")
async def update_todo(todo_id: int, todo_item: TodoItem):
    for index, todo in enumerate(fake_todo_db):
        if todo.id == todo_id:
            fake_todo_db[index] = todo_item
            return todo_item
    raise HTTPException(status_code=404, detail="Todo not found")

# Todo 아이템 삭제
@app.delete("/todos/{todo_id}")
async def delete_todo(todo_id: int):
    global fake_todo_db
    fake_todo_db = [todo for todo in fake_todo_db if todo.id != todo_id]
    return {"detail": "Todo item deleted"}

댓글 0

댓글을 남기려면 로그인하세요.

아직 댓글이 없습니다. 첫 댓글을 남겨보세요.