Choorai
| 문서

60분 완주 챌린지

Step 3/6

33%
사전 준비
프론트엔드
3
백엔드
4
연결
5
배포
6
완료
15분
FastAPI

백엔드: FastAPI

Python FastAPI로 API 서버를 만듭니다. 데이터베이스 없이 메모리에 저장하는 간단한 방식으로 시작해요.

TL;DR (3줄 요약)

  • Python 가상환경 생성 후 FastAPI 설치
  • 프로젝트 CRUD API 엔드포인트 생성
  • /docs에서 API 테스트

1 환경 설정

프론트엔드 폴더(my-admin) 옆에 백엔드 폴더를 만듭니다.

터미널
# 상위 폴더로 이동 (my-admin 폴더가 있는 곳)
cd ..

# 백엔드 폴더 생성
mkdir my-admin-api
cd my-admin-api

# Python 가상환경 생성 (권장)
python3 -m venv venv

# 가상환경 활성화
# Mac/Linux:
source venv/bin/activate
# Windows:
# venv\Scripts\activate

Python이 없다면?

python.org에서 Python 3.10 이상을 설치하세요. Mac 사용자는 brew install python도 가능합니다.

2 FastAPI 설치

터미널
# FastAPI와 서버 설치
pip install fastapi uvicorn

# 의존성 파일 생성
pip freeze > requirements.txt

requirements.txt 파일이 생성됩니다. 나중에 배포할 때 이 파일을 사용합니다.

3 첫 API 만들기

main.py 파일을 만들고 아래 코드를 붙여넣으세요:

main.py
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware

app = FastAPI(title="My Admin API")

# CORS 설정 - 프론트엔드와 통신하려면 필수!
app.add_middleware(
    CORSMiddleware,
    allow_origins=["http://localhost:5173"],  # Vite 개발 서버
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

@app.get("/health")
def health_check():
    return {"status": "ok", "version": "1.0.0"}

@app.get("/")
def root():
    return {"message": "Welcome to My Admin API"}

서버를 실행해봅시다:

터미널
uvicorn main:app --reload --port 8000

브라우저에서 http://localhost:8000/docs를 열면 Swagger UI가 나타납니다!

성공!

Swagger 문서가 보이면 API 서버가 정상 작동하는 것입니다.

4 AI로 CRUD API 만들기

프로젝트 CRUD API를 AI에게 만들어달라고 요청합니다.

AI 프롬프트

작업 필요

"FastAPI로 프로젝트 CRUD API를 만들어줘. 요구사항: 1. 데이터베이스 없이 메모리(딕셔너리)에 저장 2. Pydantic 모델로 타입 검증 API 엔드포인트: - GET /api/v1/projects - 프로젝트 목록 (페이지네이션) - POST /api/v1/projects - 프로젝트 생성 - GET /api/v1/projects/{id} - 프로젝트 상세 - PUT /api/v1/projects/{id} - 프로젝트 수정 - DELETE /api/v1/projects/{id} - 프로젝트 삭제 프로젝트 필드: - id: UUID (자동 생성) - name: 문자열 (필수) - description: 문자열 (선택) - created_at: datetime (자동) - updated_at: datetime (자동) 파일 구조: - main.py (기존 파일에 라우터 추가) - schemas.py (Pydantic 모델) - storage.py (인메모리 저장소)"

위 프롬프트를 AI에게 전달하세요.

5 결과 확인

AI가 만든 코드를 적용하고 서버를 재시작하면 /docs에서 모든 API를 테스트할 수 있습니다.

localhost:8000/docs
GET /api/v1/projects 프로젝트 목록
POST /api/v1/projects 프로젝트 생성
GET /api/v1/projects/{id} 프로젝트 상세
PUT /api/v1/projects/{id} 프로젝트 수정
DELETE /api/v1/projects/{id} 프로젝트 삭제

Swagger에서 테스트하기

  1. POST /api/v1/projects를 클릭
  2. "Try it out" 버튼 클릭
  3. name과 description 입력
  4. "Execute" 버튼 클릭
  5. 201 응답과 생성된 프로젝트 확인!

완성된 예제 코드는 GitHub 저장소 에서 확인할 수 있습니다.

FastAPI 백엔드 완료 체크리스트

0/4 완료