출처
https://lsjsj92.tistory.com/648
https://fastapi.tiangolo.com/ko/

라고 공식홈페이지에 적혀있다.
이 장점 때문에 머신러닝, 혹은 딥러닝 모델 배포에 많이 쓰인다. 그리고 나도 그럴 용도로 FAST API에 입문중이다.
터미널에서 아래 명령어를 실행하면, fast API와 그와 관련된 라이브러리까지 모두 설치가 된다.
pip install "fastapi[all]"


from typing import Union
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
return {"item_id": item_id, "q": q}
uvicorn main:app --reaload 를 입력하면!!
http://127.0.0.1:8000 해당 링크로 접속 시에 아래의 화면이 나타난다.

코드를 확인해보면
@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
return {"item_id": item_id, "q": q}
이부분이 있다.
API를 조금이라도 아시는 분들이라면 바로 생각이 가능할것. 당장 링크를 수정해보자
http://127.0.0.1:8000/item/3 으로 접속해본 결과이다

근데 이렇게 되면,, 왜 q가 null값이 들어가나 싶을거다(일단 난 초보라 궁금했다 ㅜ)
http://127.0.0.1:8000/items/3?q=cookie 이렇게 접속해보면 값이 제대로 잘 들어간다!

http://127.0.0.1:8000/docs 이 링크로 접속하면 swagger도 볼 수 있다!
@app.put("/items/{item_id}")
def update_item(item_id: int, item: Item):
return {"item_name": item.name, "item_id": item_id}
위의 코드에서 이 코드만 추가하면 swagger에서 put도 실습 가능하다! 기본적인 사용법은 유사한듯