메모

FastAPI

어렵지만 2025. 11. 11. 21:06

FastAPI란 무엇일까?

현대적이고, 빠르고, 파이썬 표준 타입에 기초한 API를 빌드하기 위한 웹 프레임워크 입니다.

 

https://fastapi.tiangolo.com/ko/

 

FastAPI

FastAPI framework, high performance, easy to learn, fast to code, ready for production

fastapi.tiangolo.com

특징:

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

 

왜 쓰게 되었을까?

프로젝트를 진행하면서 파이썬을 다루게 되었고 기존에 하던 apache, php, mysql 대신 사용할 프레임워크가 필요했다.

그래서 웹 프레임워크를 찾아보다가 FastAPI를 확인하게 되었다.

 

FastAPI 설치

https://fastapi.tiangolo.com/ko/tutorial/#_1

 

자습서 - 사용자 안내서 - FastAPI

FastAPI framework, high performance, easy to learn, fast to code, ready for production

fastapi.tiangolo.com

 

pip install "fastapi[all]"

 

부분적으로 설치할 수도 있습니다.
애플리케이션을 운영 환경에 배포하려는 경우 다음과 같이 합니다:

pip install fastapi
추가로 서버 역할을 하는 uvicorn을 설치합니다:

pip install uvicorn
사용하려는 각 선택적인 의존성에 대해서도 동일합니다.

 

그럼 간단한 테스트 예제부터 시작해보자

https://fastapi.tiangolo.com/ko/tutorial/first-steps/

 

첫걸음 - FastAPI

FastAPI framework, high performance, easy to learn, fast to code, ready for production

fastapi.tiangolo.com

from fastapi import FastAPI

 

app=FastAPI()

 

@app.get("/")

async def root():

       retrun {"message": "Hellow World"}