코드짜는 노인네

[FastAPI] FastAPI 첫걸음 'Hello FastAPI' 본문

FastAPI(Python)

[FastAPI] FastAPI 첫걸음 'Hello FastAPI'

ikohong 2022. 10. 2. 14:15
728x90
반응형

[FastAPI] FastAPI 첫걸음 'Hello FastAPI'


파이썬 배우면서, Flask를 이용해 백엔드 개발을 공부해보았지만, 최근에는 Flask를 버리고, FastAPI로 넘어간다는 이야기를 듣고, '이 녀석은 또 뭔가...'하고 조금씩 맛을 보고 있다. 공식 레퍼런스에서는 다음과 같은 특징을 이야기한다.

  • 빠름: (Starlette과 Pydantic 덕분에) NodeJS 및 Go와 대등할 정도로 매우 높은 성능. 사용 가능한 가장 빠른 파이썬 프레임워크 중 하나.
  • 빠른 코드 작성: 약 200%에서 300%까지 기능 개발 속도 증가. *
  • 적은 버그: 사람(개발자)에 의한 에러 약 40% 감소. *
  • 직관적: 훌륭한 편집기 지원. 모든 곳에서 자동완성. 적은 디버깅 시간.
  • 쉬움: 쉽게 사용하고 배우도록 설계. 적은 문서 읽기 시간.
  • 짧음: 코드 중복 최소화. 각 매개변수 선언의 여러 기능. 적은 버그.
  • 견고함: 준비된 프로덕션 용 코드를 얻으십시오. 자동 대화형 문서와 함께.

일단 이렇다고 한다. 아직은 경험을 해보지 못했으나, 많은 개발자분들께서 '최고'라고 하시고, Flask는 지는 별, FastAPI는 떠오르는 샛별과 같은 존재라고 하니, FastAPI를 공부해봐야겠다.


install FastAPI


FastAPI를 사용하기 위해서는 아래의 코드를 이용해 설치를 먼저 진행해줘야한다.

pip install "fastapi[all]"

위의 코드에는 애플리케이션을 운영 환경에 배포하기 위한 'fastapi'와 서버 역할을 하는 'uvicorn'을 포함하여 설치를 진행한다. 만일 따로 따로 설치를 하길 원한다면, 아래의 코드를 작성해주면 된다.

pip install fastapi
pip install uvicorn

run FastAPI


FastAPI 서버를 돌리기 위해 아주 간단한 코드를 작성해보자. main.py파일을 생성한 다음, 아래의 코드를 입력한다.

from fastapi import FastAPI

app = FastAPI()


@app.get("/")
async def root():
    return {"message": "Hello World"}

그 다음, 터미널(cmd)에서 'main.py'가 있는 디렉토리 경로에서 아래의 명령어를 입력한다.

uvicorn main:app --reload

그러면 서버가 돌아가고 브라우저에서 'localhost:8000' 혹은 '127.0.0.1:8000'으로 들어가면 다음과 같은 화면을 볼 수 있다.

코딩 학습하면서 가장 먼저 배우는 'Hello World'를 출력하였다. 돌아가는법은 알았겠다. 인제 확실하게 공부를 시작해봐야겠다.

728x90
반응형
Comments