약 4분
본문 듣기
읽기 설정
글자 크기
줄 간격
글꼴
4.2 FastAPI에서 JSON 처리하기
FastAPI는 JSON 데이터를 쉽게 처리할 수 있도록 설계된 강력한 웹 프레임워크입니다. 이번 섹션에서는 FastAPI를 사용하여 JSON 데이터를 생성, 읽기, 업데이트 및 삭제하는 CRUD 작업을 수행하는 방법을 배웁니다. 이를 위해 간단한 실습 프로젝트를 진행해보겠습니다.
실습 프로젝트: Todo 애플리케이션
- 프로젝트 세팅: FastAPI와 필요한 패키지를 설치합니다.
pip install fastapi uvicorn pydantic - 애플리케이션 코드 작성:
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
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.