SELF STUDY/Python

[Python] FastAPI란? | FastAPI 사용해보기

호이호이호잇 2024. 8. 15. 07:23
728x90
반응형

FastAPI라는게 있는지 이번에 처음 알았다.

 

Python을 이용하는 프레임워크에는 3가지가 있다.

-1. Django

https://www.djangoproject.com/

-2. Flask API

https://flask.palletsprojects.com/en/3.0.x/

-3. Fast API

https://fastapi.tiangolo.com/

 

세 가지를 비교하는 포스팅이 아주아주 많다.

출처 : https://www.geeksforgeeks.org/comparison-of-fastapi-with-django-and-flask/

 

 

나는 여기서 FastAPI를 사용해보기로 했는데, 이유는

1. 나는 micro service를 만들 것 이기 때문에 Django는 너무 큰 프레임워크라고 생각했다.

   내가 만드는 서비스는 기존 운영중인 node.js 서버에서 내가 만든 기능을 불러서 쓰기 위해 만드는 서비스이기 때문에 매우매우 간단!

2. 빠른 개발 속도 / 높은 성능 / 타입 힌드 등 편의성이 좋아보였음!

 

이제 한 번 사용해봅시다!

(참고한 블로그 : https://lsjsj92.tistory.com/648)

 


라이브러리 설치

pip install "fastapi[all]"

 

필요한 라이브러리 다 따로따로 설치해주는 분들이 많던데, 나는 그냥 필요한 라이브러리 다 설치되도록 위의 명령어를 사용했다.

 

* 필요한 라이브러리 중 대표적인 것이 unicorn (https://www.uvicorn.org/)

FastAPI 파이썬 코드를 실행할 때 필요하다.

 

여기 설명에서 ASGI (Asynchronous Server Gateway Interface) 는 무엇일까?

이를 이해하기 위해서는 Gateway Interface 3가지(SGI / WSGI / ASGI) 를 알아야한다.

자세히 설명해주고 있는 블로그 : https://jellybeanz.medium.com/cgi-wsgi-asgi-%EB%9E%80-cgi-wsgi-asgi-bc0ba75fa5cd 

 


코드 작성

from fastapi import FastAPI

app = FastAPI()

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

이것이 기본 코드!

 


FastAPI 실행

uvicorn $파일이름:app --reload

만약 내 파일 이름이 main.py 이라면, uvicorn main:app --reload 을 실행시켜주면 된다.

실행시키면 나오는 저 주소를 웹에 입력해주면 테스트 가능!

 

 

 

어렵고 신기한 서비스.. 웹.. 세계..

더 공부해봐야지+_+

728x90
반응형