Minseong Code Lab
← Projects
Bootcamp MissionBackend / API

FastAPI Practice API

부트캠프 API 실습 과제. FastAPI로 CRUD API를 설계하고 Pydantic 검증, 예외 처리, 자동 문서화를 실습했습니다.

게시 2026-05-20
PythonFastAPIPydanticSQLite
Problem
단순히 동작하는 API가 아니라, 일관된 스키마·명확한 에러 응답·자동 문서화를 갖춘 API를 만드는 것
Decision
검증 로직을 엔드포인트 안에 쓰지 않고 Pydantic 모델에 위임하는 스키마 우선 설계 채택
Contents · 목차
  1. 프로젝트 개요
  2. 문제 정의
  3. 사용 기술
  4. 핵심 기능
  5. 배운 점
  6. 향후 개선 방향

프로젝트 개요

부트캠프 백엔드 실습 과제로 진행한 FastAPI 기반 CRUD API입니다. REST API의 기본 구조와 FastAPI의 핵심 기능(라우팅, 의존성 주입, 자동 문서화)을 익히는 것이 목표였습니다.

문제 정의

단순히 "동작하는 API"가 아니라 다음을 갖춘 API를 만드는 것이 과제의 핵심이었습니다.

  • 일관된 요청/응답 스키마
  • 잘못된 입력에 대한 명확한 에러 응답
  • 자동 생성되는 API 문서 (Swagger UI)

사용 기술

  • FastAPI: 라우팅, 의존성 주입, OpenAPI 문서 자동화
  • Pydantic: 요청/응답 모델 정의와 입력 검증
  • SQLite: 실습용 경량 데이터베이스

핵심 기능

  • 리소스 CRUD 엔드포인트 (생성/조회/수정/삭제)
  • Pydantic 모델 기반 입력 검증과 타입 안전성
  • HTTPException을 활용한 상태 코드별 에러 처리
  • /docs 자동 API 문서

배운 점

  • 스키마를 먼저 설계하면 API 구현과 문서화가 동시에 해결된다는 점
  • 검증 로직을 엔드포인트 안에 쓰지 않고 Pydantic 모델에 위임하는 패턴
  • 이 실습이 이후 RAG 프로젝트의 ask() API 서비스화 설계의 기반이 되었습니다

향후 개선 방향

  • 인증(OAuth2) 실습 추가
  • 테스트 코드(pytest) 작성
  • RAG Service Lab의 백엔드 구조로 확장 적용