728x90

FastAPI는 python용 웹프레임워크로 예전에 flask에서 많이 넘어오고 있는 중입니다.

 

공식문서에서는 아래와 같이 소개를 하고있습니다,

 

FastAPI는 현대적이고, 빠르며(고성능), 파이썬 표준 타입 힌트에 기초한 Python3.6+의 API를 빌드하기 위한 웹 프레임워크입니다.

주요 특징으로:

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

* 내부 개발팀의 프로덕션 애플리케이션을 빌드한 테스트에 근거한 측정

 

FastAPI를 쓰면 swagger도 포함이 되어있어서 docs를 쉽게 볼수 있고. 파이썬 기반 api서버 구축하기 아주 좋은 프레임워크입니다.

 

우선 사용하기위하 아래 명령어로 설치를 해줍니다

pip install fastapi

그리고 서버를 띄우기 위해 ASGI서버도 필요하기 떄문에 같이 설치를 해줍니다

pip install uvicorn[standard]

 

그다음 파이썬 프로젝트에서 main.py를 생성해줍니다.

main.py의 내용은 아래와 같습니다

from typing import Union
from fastapi import FastAPI

app = FastAPI()

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

작성을 했으면 main.py가 있는 위치에서 아레 명령어를 입력해 실행시킵니다.

uvicorn main:app --reload

INFO: Application startup complete. 

메세지가 뜨면
http://localhost:8000/

에 접속을 합니다. 그러면  브라우저에 {"Hello": "World"}이 출력된걸 볼수 있습니다

 

http://localhost:8000/docs에 접속하면 swagger ui api문서도 바로 볼수 있습니다.

 

 

 

+ Recent posts