이제 간단한 FastAPI 애플리케이션을 만들어 보자! 이번 포스팅에 목표는 FastAPI를 경험해 보는 것에 있다. 추가적인 내용은 앞으로 같이 더 알아가보자.
먼저 애플리케이션을 만들 디렉토리를 만들어 준다.
mkdir todos
cd todos
⚙️ 초기세팅 : https://velog.io/@minydinger/FastAPI-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0
방금 만들어진 디렉토리 안에 아래 필요한 의존 라이브러리와 패키지를 설치한다.
설치 전, 앞서 만든 프로젝트 폴더에서 가상 개발 환경을 활성화한다.
source venv/bin/activate
venv\Scripts\activate
가상환경이 활성화 되었다면 의존 라이브러리를 설치한다.
pip install fastapi uvicorn
이제 해당 프로젝트 안에 api.py라는 파일을 만들고 FastAPI의 새 인스턴스를 생성해 준다.
# api.py
from fastapi import FastAPI
app = FastAPI()
새 인스턴스인 app 변수에 라우트를 생성해 줄 수 있다.
*데코레이터를 사용해서 처리 유형을 정의하고 라우트가 호출되었을 때 실행할 처리를 작성해준다.
참고) 데코레이터는 함수나 메서드의 기능을 수정하거나 확장하는 역할을 하는 함수이다
# api.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def welcome() -> dict :
return {
"message": "Hello World"
}
위 코드는 GET 유형의 요청을 받아 "Hello World"라는 메세지를 반환하는 초기 라우트를 설정하는 코드이다.
앞서 설치한 uvicorn을 활용한 아래 명령어를 실행해 애플리케이션을 시작할 수 있다.
uvicorn api:app --port 8000 --reload
uvicorn의 지정 인수는 아래와 같다.

애플케이션이 제대로 실행되고 있는지 테스트를 해야 한다.
새로운 터미널을 열러 아래 명령어를 입력하여 GET 요청을 보낸다.
curl http://127.0.0.1:8000
그러면 아래와 같은 메시지를 출력받을 수 있다.
{"message":"Hello World"}
이렇게 이번 포스트에서는 간단하게 FastAPI를 찍먹해 보며 FastAPI가 어떻게 작동하는지 확인해 보았다.
다음 포스트에서는 FastAPI의 라우팅을 더 자세히 살펴보자 🙌🏻
참고자료: FastAPI를 사용한 파이썬 웹 개발 (한빛미디어)