FastAPI라는게 있는지 이번에 처음 알았다.
Python을 이용하는 프레임워크에는 3가지가 있다.
-1. Django
https://www.djangoproject.com/
-2. Flask API
https://flask.palletsprojects.com/en/3.0.x/
-3. Fast API
세 가지를 비교하는 포스팅이 아주아주 많다.
나는 여기서 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 을 실행시켜주면 된다.
실행시키면 나오는 저 주소를 웹에 입력해주면 테스트 가능!
어렵고 신기한 서비스.. 웹.. 세계..
더 공부해봐야지+_+