이제 FastAPI 를 설치하고 사용해보면서 알아가보자.
사전준비
FastAPI 를 사용하기 위한 사전 준비를 먼저 하려고 한다. 사전에 준비해야할 것들은 다음과 같다.
1. VSCode
FastAPI 를 사용하기 위한 IDE 로 VSCode 를 사용할 예정이다.
2. 파이썬 가상 환경 Conda 또는 venv
파이썬 환경에서 FastAPI 를 설치하고 필요한 라이브러리들을 설치해서 사용하기 위한 가상 환경을 만든다.
3. Python 버전
현재 날짜를 기준으로 3.14를 개발중에 있고 3.13 버전까지 나온 것으로 알고 있지만 지금은 3.11 버전을 사용할 예정이다.
4. Git Repository 생성하기
FastAPI 를 사용하면서 모든 코드를 Github Repository 에 올려 관리하려고 한다.
모든 코드는 아래의 Github Repository 에 올릴 예정이다.
GitHub - jaynamm/fastapi-lab: FASTAPI 알아보기
FASTAPI 알아보기. Contribute to jaynamm/fastapi-lab development by creating an account on GitHub.
github.com
FastAPI 가상 환경 설정하기
먼저 conda 를 사용해서 가상 환경을 만들어준다.
# 1. 가상 환경 생성
conda create -n fastapi-lab python=3.11
# 2. 가상 환경 활성화
conda activate fastapi-lab
FastAPI 설치하기
생성한 가상 환경에서 접속해서 FastAPI 를 설치한다.
pip install fastapi
설치가 완료되면 requirements.txt 파일을 생성해서 버전을 기록해준다.
pip freeze | grep fastapi >> requirements.txt
FastAPI App 생성해보기
이제 설치한 FastAPI 를 사용해서 간단하게 App 을 생성해보자.
먼저, main.py 파일을 생성해서 다음과 같이 작성한다.
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World!"}
이 코드는 간단하게 루트(/) 경로로 접근하게 되면 메시지를 출력하라는 API 이다.
현재 디렉터리 구조는 아래와 같다.
.
├── README.md
├── main.py
└── requirements.txt
FastAPI 서버 실행하기
간단한 FastAPI App 을 만들어보았는데 이제 FastAPI 서버를 실행해보자.
FastAPI 는 uvicorn 을 사용해서 실행해줄 수 있는데 설치해준다.
설치한 라이브러리는 requirements.txt 파일에 차곡차곡 버전 관리를 해두자.
그래야 새로운 환경에서 설치했을 때 동일한 환경으로 설치가 되어 다음에 버전으로 인한 문제가 발생하지 않는다.
pip install uvicorn
설치가 완료되었다면 서버를 실행해보자.
$ uvicorn main:app --reload
INFO: Will watch for changes in these directories: ['/Users/jhnam/workspace/fastapi-lab']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [6641] using StatReload
INFO: Started server process [6643]
INFO: Waiting for application startup.
INFO: Application startup complete.
이렇게 실행이 되었다면 정상적으로 서버가 실행되었다고 볼 수 있다.
그럼 웹에서 확인해보자.
http://localhost:8000/ 을 통해서 접속하게 되면 다음과 같이 출력되는 것을 확인할 수 있다.
앞서 설정한 루트(/) 경로로 접속하게 되면 메시지를 출력하라고 했었는데 보는 것과 같이 출력이 된 것을 확인할 수 있다.
그럼 조금 더 보기 쉽게 OpenAPI 를 통해서 확인해보고 싶다면 다음과 같이 접속하면 된다.
http://localhost:8000/docs
그럼 다음과 같이 API 명세를 확인할 수 있다.
API 의 태그를 설정해주지 않았기 때문에 default 라는 태그로 설정이 되고 '/' 라는 Path 를 가지는 GET API 하나를 확인해볼 수 있다.
자, 이렇게 기본 설정들이 필요한 다른 프레임워크와는 다르게 정말 빠르게 API 서버를 만들어보았다.
이제 서버에 필요한 기능들을 하나씩 추가해나가면 될 것 같다.