본문 바로가기

Minding's Programming/FastAPI

[FastAPI] FastAPI 특장, 설치 방법

728x90
반응형

Python을 기반으로 하는 웹 프레임워크 중 최근(이라고 하기도 좀 뭐하지만)에 각광받고 있는 FastAPI를 한번 배워보려고 한다. 본격적으로 나만의 '무언가'를 만들어 보려고 하는데, 가장 일반적이고 내가 원하는 바를 표현해낼 수 있는 것이 웹이라고 생각되었다. html과 css 등의 프론트엔드는 그나마 찍먹 정도는 해봤기 때문에 백엔드 포지션이라고 할 수 있는 웹 프레임워크부터 배워보기로 했다.

 

FastAPI의 특징은?

이름에서부터 알 수 있듯이 FastAPI는 API를 만드는데 특화된 웹 프레임워크이며, 빠른 속도를 자랑한다. 이는 Python의 async와 await을 이용해 비동기 프로그래밍을 지원해 동시성을 높일 수 있었기 때문이다. Python 3.8 기준의 API를 빌드를 목적으로 하고 있으며, 간결한 코드와 함께 비교적 적은 버그 발생률을 나타낸다.

또한 작성한 API 코드에 대해 문서 및 테스트 도구를 제공하는데, 자동으로 API 엔드포인트와 파라미터에 대한 샘플을 생성해준다고 한다. 이전에는 Swagger라는 이름을 사용했는데, 현재는 OpenAPI로 이름이 바뀌었다고 한다.

 

FastAPI 설치

pip install fastapi
pip install "uvicorn[standard]"

pip 명령어를 통해 설치할 수 있다. 아래에 있는 uvicorn은 ASGI(Asynchronous Server Gateway Interface, 비동기 처리와 동시 처리를 지원하는 파이썬 웹 서버와 웹 프레임워크 간 인터페이스)기능이 있는 웹 서버로, 함께 설치해준다.

 

"Hello, World" 노출시켜보기

다음과 같은 코드를 가진 main.py 파일을 만든다.

from fastapi import FastAPI

app = FastAPI()

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

 

그 다음 uvicorn 서버를 통해 main.py 파일을 실행시켜준다.

uvicorn main:app --reload

 

이후 인터넷 브라우저를 통해 '127.0.0.1:8000' 주소를 치고 검색하면 아래와 같은 결과가 나타난다. 간단히 FastAPI 테스트까지 해보았다.

 

728x90