Python 에는 유명한 웹프레임워크가 3개 있어요. Django, Flask, FastAPI 입니다. 이 중에서 골라서 취향에 맞추어서 사용하면 되는데요. 저는 이 중에서 FastAPI 가 제 취향에 맞습니다. FastAPI 가 이름에서도 알 수 있지만, 이 중에서 성능이 2배나 좋다고 합니다. 그리고, 저는 API서버로만 사용할 것이라서 좀 더 간결하게 작성할 수 있는 FastAPI가 좋습니다.

 

이제, 시작해볼까요. 먼저, C:\work\fapi 라는 이름으로 작업폴더를 만들어줍니다. 해당 폴더에서 venv 로 가상환경을 만들고, 가상환경을 활성화해주세요.

fastapi 모듈을 설치합니다.

설치한 후에 pip list 로 설치된 모듈을 확인해봅니다. 대략 이정도의 모듈들이 설치되네요.

uvicorn 도 설치해줍니다.

main.py 파일을 열어서, 다음을 입력해줍니다.

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.py 를 실행합니다.

웹브라우저에서 http://localhost:8000 으로 접속해봅니다.

이번에는 http://localhost:8000/items/5?q=what 이라고도 입력해봅시다.

http://localhost:8000/docs 라고 입력하면, Swagger UI 로도 API 문서를 볼 수 있습니다. 좋구만요~!

 

일단 여기까지입니다. 다음번에는 컨트롤러를 확장해봅시다.

+ Recent posts