FastAPI 백엔드를 이해하려면 먼저 REST API가 무엇인지, 그리고 FastAPI가 Python 생태계에서 어떤 역할을 하는지 알아야 합니다.

1. REST API란 무엇인가?

REST(Representational State Transfer)는 HTTP 프로토콜 위에서 동작하는 API 설계 아키텍처입니다.

핵심 개념

리소스(Resource) 중심 설계

모든 데이터는 URL로 표현되는 리소스로 표현합니다.

/api/sensors       → 센서 데이터 리소스
/api/alerts        → 경보 리소스
/api/history       → 이력 데이터 리소스
/api/pipeline      → 파이프라인 리소스

HTTP 메서드 의미

메서드 의미 AquaView 사용 예
GET 데이터 조회 GET /api/sensors — 센서 현재값 읽기
POST 데이터 생성/실행 POST /api/pipeline/params — HRT 비율로 계산 실행

HTTP 상태 코드

코드 의미
200 OK 정상 응답
422 Unprocessable Entity 요청 데이터 검증 실패 (FastAPI 자동 처리)
500 Internal Server Error 서버 내부 오류

2. FastAPI 소개

FastAPI는 Python 3.9+ 타입 힌트를 기반으로 한 고성능 REST 프레임워크입니다.

주요 특징

Uvicorn (ASGI 서버)