본문 바로가기

🐍PYTHON

[Python] VSC 환경에서 FastAPI 구현하기

반응형

나노바나나 ai 이미지

 

 

🧠 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: 코드 변경 시 자동 재시작

🔗서버 실행 후 접속:

 

 

📦 requirements.txt 만들기

협업이나 배포용으로 패키지 목록을 저장합니다.

pip freeze > requirements.txt
 
 
📘 다음 글 예고:

🔜 FastAPI에서 POST 요청 처리하기 & JSON 데이터 받기

 

 

반응형