본문 바로가기

Programming/[Python]

[FastAPI] 1. FastAPI 시작하기 (환경 구축)

반응형

참고 도서

개발환경 : WSL2 (Ubuntu 20.04), Python 3.10 (anaconda 가상환경)

 

처음은 간단한 애플리케이션을 구축해보면서 FastAPI를 경험해보는 시간.

 

1. 라이브러리 설치 및 소스코드 작성

애플리케이션 개발에 필요한 라이브러리와 패키지를 설치

pip install fastapi uvicorn

 

이제 api.py라는 파일을 만들어 FastAPI의 새 인스턴스를 생성함.

from fastapi import FastAPI

app = FastAPI()

 

app 변수에 FastAPI를 초기화해서 라우트를 생성할 수 있다. 웰컴 라우트를 만들어보자.

우선 데코레이터를 사용해 처리 유형을 정의하고 라우트가 호출됐을 때 실행할 처리를 함수로 작성함.

다음 코드는 GET 유형의 요청을 받아서 환영 메시지를 반환하는 "/" 라우트를 만듦.

# 위 코드에 추가
@app.get("/")
async def welcome() -> dict:
    return {
        "message" : "안녕, 공부 열심히 하렴"
    }

*비동기 작업방식은 하나의 작업 단위에서 요청과 응답이 이루어지지 않는 방식이다. (async)

 

 

이제 터미널로 돌아가 uvicorn을 사용해 애플리케이션을 시작해보자.

uvicorn api:app --port 8000 --reload

 

지정 인수에 대한 설명은 다음과 같다.

인수 설명
api:app api.py의 FastAPI를 가르키는 변수인 app을 지정함.
--port 8000 애플리케이션에 접속할 수 있는 포트를 지정함.
--reload 선택적 인수로, 파일이 변경될 때마다 애플리케이션을 재시작

 

실행결과는 다음과 같다.

 

새 터미널 창을 열고 GET 요청을 보내 애플리케이션이 제대로 실행되고 있는지 확인한다.

curl http://localhost:8000

 

또는 브라우저에서 http://localhost:8000에 접속하여 확인할 수도 있다.

반응형