3.3 FastAPI로 RESTful API 구현

약 4분

본문 듣기
읽기 설정

글자 크기

줄 간격

글꼴

3.3 FastAPI로 RESTful API 구현

이번 섹션에서는 FastAPI를 사용하여 간단한 RESTful API를 구현해보겠습니다. FastAPI는 Python의 현대적인 웹 프레임워크로, 빠르고 효율적으로 RESTful 서비스를 제공하는 데 적합합니다. 실습을 통해 HTTP 요청, CRUD 작업, JSON 응답 및 JWT 인증을 구현하는 방법을 배워볼 것입니다.

실습 프로젝트: 간단한 할 일 목록 API 구성하기

정확한 이해를 돕기 위해, 할 일 목록(To-Do List) API를 구현할 것입니다. 사용자에게 할 일을 추가하고, 조회하며, 수정하고 삭제할 수 있는 기능을 제공할 것입니다.

1단계: FastAPI 설치

우선 FastAPI와 Uvicorn을 설치합니다. Uvicorn은 FastAPI 애플리케이션을 실행하는 ASGI 서버입니다. 터미널에 다음 명령어를 입력하세요:

pip install fastapi uvicorn

2단계: 기본 API 구성

이제 FastAPI 애플리케이션을 생성하고, 기본 엔드포인트를 구현해보겠습니다. 다음 코드를 작성하여 main.py 파일을 생성합니다.

코드 python
from fastapi import FastAPI, HTTPException

app = FastAPI()

todos = []  # 할 일 목록 저장을 위한 리스트

@app.get("/todos/")
def read_todos():
    return todos

@app.post("/todos/")
def add_todo(todo: str):
    todos.append(todo)
    return {"message": "Todo added successfully"}

@app.put("/todos/{todo_id}")
def update_todo(todo_id: int, updated_todo: str):
    if 0 <= todo_id < len(todos):
        todos[todo_id] = updated_todo
        return {"message": "Todo updated successfully"}
    else:
        raise HTTPException(status_code=404, detail="Todo not found")

@app.delete("/todos/{todo_id}")
def delete_todo(todo_id: int):
    if 0 <= todo_id < len(todos):
        todos.pop(todo_id)
        return {"message": "Todo deleted successfully"}
    else:
        raise HTTPException(status_code=404, detail="Todo not found")

댓글 0

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

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