반응형
fastAPI란?
Ptyhon 3.6부터 제공되는 트랜디하고 높은 성능을 가진 Python FrameWork
공식 홈페이지는 아래와 같다.
https://fastapi.tiangolo.com/ko/
홈페이지에서 설명하는 특징은 아래와같다.
빠름: (Starlette과 Pydantic 덕분에) NodeJS 및 Go와 대등할 정도로 매우 높은 성능. 사용 가능한 가장 빠른 파이썬 프레임워크 중 하나. 빠른 코드 작성: 약 200%에서 300%까지 기능 개발 속도 증가. * 적은 버그: 사람(개발자)에 의한 에러 약 40% 감소. * 직관적: 훌륭한 편집기 지원. 모든 곳에서 자동완성. 적은 디버깅 시간. 쉬움: 쉽게 사용하고 배우도록 설계. 적은 문서 읽기 시간. 짧음: 코드 중복 최소화. 각 매개변수 선언의 여러 기능. 적은 버그. 견고함: 준비된 프로덕션 용 코드를 얻으십시오. 자동 대화형 문서와 함께. 표준 기반: API에 대한 (완전히 호환되는) 개방형 표준 기반: OpenAPI (이전에 Swagger로 알려졌던) 및 JSON 스키마. |
기존에 존재하고 널리 알려진 Python FrameWork는 Django, Flask이다.
하지만 위와 같은 특징으로 새롭게 생겨나게 되었다.
사용법
사용법은 간단하다.
- 설치
- fastapi 설치 pip3 install fastapi - uvicorn 설치 pip3 install uvicorn pip3 install uvicorn[standard] |
참고로 uvicorn 은 async/await을 기반한 비동기 프로그래밍 지원, 퍼포먼스가 가장 좋다고 알려진 ASGI이다.(실행 결과를 보기 위해 설치한것이므로 필수는 아님)
그리고 main.py 파일을 만들어서 아래와 같이 스크립트를 써준다.
from fastapi import FastAPI # FastAPI import app = FastAPI() @app.get("/") def printHello(): return "Hello World" @app.get("/json") def printJson(): return { "Number" : 12345 } |
그리고 실행은 터미널에서
uvicorn main:app --reload --host=localhost --port=80
를 해주면
localhost:80 으로 들어가면 아래와 같이 출력이 된다.
반응형
댓글