FastAPI를 사용하여 할 일을 적고 수행여부를 체크하는 서비스를 만들어보자.
FastAPI는 파이썬 프레임워크로, 파이썬 3.6 부터 제공되는 트렌디하고 높은 성능을 가졌다.
FastAPI의 특징은 다음과 같다.
- API 문서 자동 생성 (Swagger와 ReDoc 스타일 동일)
- 의존성 주입 위주의 설계를 통한 DB 등에 대한 관리 편리
- 비동기 동작으로 빠른 성능 보장
- Pydantic을 사용한 Validation 체크
- 뛰어난 공식문서 가이드
요구되는 환경은 다음과 같다.
- Python 3.10 이상
- Docker
- MySQL 8.0
- IDE : PyCharm
Python 3.10, Docker, PyCharm이 설치되어있다고 가정한 상태에서 프로젝트를 생성해보자.
다음의 명령어를 통해 가상 환경을 생성, 실행, 종료를 할 수 있다.
# todos 가상 환경 생성
python -m venv todos
# todos의 Scripts 내부에 있는 activate.bat을 통한 가상 환경 실행
cd todos
Scripts\activate.bat
# 가상환경 종료
Scripts\deactivate
가상 환경을 만들고 가상 환경 내부에서 FastAPI와 uvicorn을 설치한다.
pip install fastapi==0.97.0
pip install uvicorn
이때, FastAPI의 버전을 명시하는 이유는 최신 버전은 FastAPI가 pydantic v2를 사용하지만, 이 프로젝트는 v1을 사용하기 때문이다.
코드 실행은 todos 하위 폴더로 src 폴더를 하나 만들고, src 폴더 내부에 main.py 을 만든다.
그리고 src 폴더로 이동해서 다음의 명령어를 실행하면 된다.
uvicorn main:app --reload
reload 옵션을 안 붙여도 main을 실행할 수 있다. 하지만, reload를 붙이는 이유는 코드가 수정되면 자동으로 반영되어서 실행되기 때문이다. 따라서, reload를 붙여서 실행하는 것이 좋다.
인프런 - [실전! FastAPI 입문 강의]를 참고하였습니다.
'개발 > FastAPI' 카테고리의 다른 글
FastAPI - ToDo 서비스 기능 만들기 (1) (0) | 2023.12.29 |
---|