반응형

🧠 FastAPI란?
FastAPI는 Python 기반의 최신 웹 프레임워크로, “빠르고, 간결하며, 타입 안전한” 백엔드 개발이 가능합니다.
- 빠른 속도 → Starlette + Pydantic 기반 비동기 구조
- 자동 문서화 → /docs, /redoc 경로에서 Swagger 문서 생성
- 타입 힌트 기반 → 데이터 검증과 자동 완성 향상
- ASGI 지원 → Flask보다 빠르고 Django보다 가벼움
📌 왜 FastAPI인가?
✅ 빠른 성능,
✅ 직관적인 문법,
✅ 자동 문서화.
⚙️ Python 및 VSC 환경이 구축 되어 있다는 가정 하에 진행.
✅가상환경 생성 및 활성화
- vsc 터미널에 해당 명령어로 가상환경 생성
python -m venv venv
- macOS / Linux - 가상환경 활성화
source venv/bin/activate
- Window - 가상환경 활성화
venv\Scripts\activate
📦 FastAPI 및 Uvicorn 설치
pip install fastapi
pip install "uvicorn[standard]"
- FastAPI → 프레임워크 본체
- Uvicorn → FastAPI를 실행할 ASGI 서버
🧩 첫 번째 FastAPI 앱 만들기
💡 팁 : 파일 이름을 **main.py**로 사용하는 것이 초기 오류를 줄이는 가장 좋은 방법.
from fastapi import FastAPI
#FastAPI 인스턴스 생성
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello FastAPI!"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str | None = None):
return {"item_id": item_id, "query": q}
▶️ 서버 실행하기
uvicorn main:app --reload
- main: 파일명 (main.py)
- app: FastAPI 인스턴스 이름
- --reload: 코드 변경 시 자동 재시작
🔗서버 실행 후 접속:
- 👉 http://127.0.0.1:8000
- API 문서 확인: http://127.0.0.1:8000/docs

📦 requirements.txt 만들기
협업이나 배포용으로 패키지 목록을 저장합니다.
pip freeze > requirements.txt
📘 다음 글 예고:
🔜 FastAPI에서 POST 요청 처리하기 & JSON 데이터 받기
반응형