install
pip install fastapi
- Fast API는 개발 서버가 없다.
- Django는 pyhotn mange.py, Flask도 실행하는 서버가 있었는데, Fast API는 과감하게 빼버렸다. 이는 개발서버와 배포서버를 구분못하는 개발자들이 생겨났기 때문이라고 한다.
pip install uvicorn
실행
uvicorn main:app --reload
- main : main.py 모듈
- app : main.py에서 app
- --reload : 파일에 변화가 생기면 재시작하겠다는 옵션
import uvicorn
...
if __name__ == "__main__":
uvicorn.run("main:app", reload=True)
http://127.0.0.1:8000/docs
- 작동되고 있는 것을 확인할 수 있다.
- FAST API는 스웨거 문서에서 바로 테스트할 수 있다는게 큰 장점이다.
...
setuptools 61.2.0
sniffio 1.2.0
sros2 0.9.5
starlette 0.19.1
teleop-twist-keyboard 2.3.2
tomli 2.0.1
topic-monitor 0.9.3
typing_extensions 4.1.1
uvicorn 0.18.2
wheel 0.37.1
- pip list를 쳐봤을 때, starlette이 있는데, Fast API는 이 웹프레임워크의 Wrapper 형태다.
- 내부 Core는 starlette 이라는 것이다.
- pydantic 라이브러리 덕에 typehint(annotation 문법)으로 데이터 검증을 수행할 수 있게된다.
- 정의한 자료형으로 데이터를 변환도 해주기 때문에 문제고 해결해주고, 다른 개발자가 봤을 때 어떤 데이터를 원하는지를 명확하게 알 수 있다.