FastAPI REST API 실전 구축기 — 인증, 에러 처리, Docker 배포까지
레거시 Flask 서버 40개 엔드포인트를 FastAPI REST API로 전환한 과정이다. JWT 인증 구현, Pydantic 모델 도입, Docker 멀티스테이지 빌드까지 실제 프로젝트에서 겪은 시행착오를 시간순으로 풀었다.
레거시 Flask 서버 40개 엔드포인트를 FastAPI REST API로 전환한 과정이다. JWT 인증 구현, Pydantic 모델 도입, Docker 멀티스테이지 빌드까지 실제 프로젝트에서 겪은 시행착오를 시간순으로 풀었다.
requests 순차 호출로 8초 걸리던 API 집계를 asyncio.gather와 aiohttp로 1.6초까지 줄인 과정이다. event loop 충돌, 세션 관리, 동시성 제어까지 프론트 출신 백엔드 개발자 시점에서 풀어냈다.
FastAPI에서 JWT 인증을 직접 구현하면서 3시간을 날린 경험을 바탕으로, 토큰 설계부터 Depends 체이닝을 이용한 권한 분리까지 실무에서 마주친 함정들을 다룬다.
커버리지 80%를 달성했는데 버그는 왜 안 줄었나. unittest에서 pytest로 전환하면서 겪은 시행착오와 fixture·mock·커버리지 리포트를 실무에서 올바르게 쓰는 방법을 정리했다.
FastAPI 프로젝트의 Docker 이미지가 1.2GB까지 불어났다. 멀티스테이지 빌드와 .dockerignore 설정으로 187MB까지 줄인 과정을 단계별로 정리했다. slim과 alpine 비교, 빌드 에러 대응 포함.