FastAPI 백엔드를 이해하려면 먼저 REST API가 무엇인지, 그리고 FastAPI가 Python 생태계에서 어떤 역할을 하는지 알아야 합니다.
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 | 서버 내부 오류 |
FastAPI는 Python 3.9+ 타입 힌트를 기반으로 한 고성능 REST 프레임워크입니다.
/docs (Swagger UI), /redoc (ReDoc)이 자동 생성async def로 비동기 엔드포인트 선언 가능