Fastapi

Vaquita Wiki
Tutor (토론 | 기여)님의 2025년 12월 7일 (일) 23:22 판 (새 문서: ==FastAPI, Uvicorn, ASGI== * Python에서 FastAPI는 웹 애플리케이션 또는 API를 구축하기 위한 고성능 웹 프레임워크이며, * Uvicorn은 이 애플리케이션 코드를 실행하는 비동기 웹 서버입니다. * 이 둘은 ASGI(Asynchronous Server Gateway Interface)라는 표준 인터페이스를 통해 서로 통신합니다. ===FastAPI의 기능 (웹 프레임워크)=== * API 구축: REST API를 구축하는 데 필요한 라우팅, 요청 처...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

FastAPI, Uvicorn, ASGI[편집]

  • Python에서 FastAPI는 웹 애플리케이션 또는 API를 구축하기 위한 고성능 웹 프레임워크이며,
  • Uvicorn은 이 애플리케이션 코드를 실행하는 비동기 웹 서버입니다.
  • 이 둘은 ASGI(Asynchronous Server Gateway Interface)라는 표준 인터페이스를 통해 서로 통신합니다.

FastAPI의 기능 (웹 프레임워크)[편집]

  • API 구축: REST API를 구축하는 데 필요한 라우팅, 요청 처리, 응답 생성 등의 기능을 제공
※ REST API(Representational State Transfer Application Programming Interface)는 웹 서비스에서 자원(Resource)을 이름(URL)으로 구분하고, HTTP 프로토콜을 통해 이 자원의 상태를 주고받는(데이터 생성, 조회, 수정, 삭제 등) 아키텍처 스타일이자 표준화된 통신 방식
  • 자동 문서 생성: OpenAPI 표준을 기반으로 대화형 API 문서를 자동으로 생성

Uvicorn의 기능 (ASGI 웹 서버)[편집]

  • HTTP 요청 처리: 클라이언트로부터 HTTP 요청을 수신하고, FastAPI 애플리케이션으로 전달
  • ASGI 구현: 웹 서버와 비동기 Python 애플리케이션 간의 표준 인터페이스인 ASGI를 구현
  • 응답 반환: FastAPI 인스턴스가 반환한 데이터를 HTTP 응답으로 변환하여 클라이언트에게 다시 전송

FastAPI와 Uvicorn의 관계[편집]

FastAPI와 Uvicorn의 관계는 다음과 같이 비유할 수 있습니다.

  • FastAPI는 카페의 주방장과 같습니다. 어떤 요리를 어떻게 만들지(애플리케이션 로직, 데이터 처리) 결정합니다.
  • Uvicorn은 카페의 종업원 또는 접수 담당자와 같습니다. 손님의 주문(HTTP 요청)을 받고, 주방장(FastAPI)에게 전달하며, 완성된 요리(HTTP 응답)를 손님에게 다시 가져다줍니다.
  • ASGI는 주방장과 종업원이 사용하는 표준화된 주문서 및 의사소통 방식입니다.

요약하자면, FastAPI는 애플리케이션 로직을 정의하고, Uvicorn은 해당 로직을 네트워크 상에서 실제로 구동되게 하는 역할을 합니다. FastAPI 애플리케이션을 실행할 때는 uvicorn main:app와 같은 명령어를 사용하여 Uvicorn이 FastAPI 인스턴스를 로드하도록 지시합니다. (Google AI)

FastAPI, Uvicorn 설치[편집]

  • 모듈 설치
C:\Rnd\시스템환경>pip install fastapi uvicorn
  • 설치 확인
C:\Rnd\시스템환경>python -m pip check 

  • 프로그램 실행 명령
uvicorn main:app --reload
python -m uvicorn main:app --reload
http://127.0.0.1:8000
  • uvicorn 설치 위치 확인 및 Path 지정
pip show uvicorn
	C:\Users\USER\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages
제어판 > 시스템 및 보안 > 시스템 > 고급 시스템 (화면 오른쪽) > 환경 변수 > 시스템 변수 > 새로 만들기
	uvicorn