[FastAPI] Setting

JeongChaeJin·2022년 7월 27일
0

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
  • 위 url로 들어가면

  • 작동되고 있는 것을 확인할 수 있다.
  • 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 문법)으로 데이터 검증을 수행할 수 있게된다.
    • 정의한 자료형으로 데이터를 변환도 해주기 때문에 문제고 해결해주고, 다른 개발자가 봤을 때 어떤 데이터를 원하는지를 명확하게 알 수 있다.
profile
OnePunchLotto

0개의 댓글