FastApi Router

최준호·2024년 1월 28일

FastAPI

목록 보기
3/9
post-thumbnail

🔴 Router 설정

이전 글에서 main.py 파일에서 간단한 api를 생성해보았다. 그럼 왜 router 설정이 또 필요한것일까? main.py에서는 app을 실행시키며 router는 따로 묶어서 실행하기 위해서라고 생각하면 쉬울 것 같다.

글로는 나도 잘 이해가 안됐지만 코드로 보면 이해가 쉽다.

🟡 Router 생성

🟢 board.py 파일 생성

from fastapi import APIRouter

board_router = APIRouter()

board_list = []

@board_router.get("/board")
def get() -> dict:
    return {"list" : board_list}

@board_router.post("/board")
def post(board: dict) -> dict:
    board_list.append(board)
    return {"message" : "success"}

이렇게 board.py 파일을 생성해서 따로 관리할 수 있게 된다.

🟢 main.py에 추가

from typing import Union
from fastapi import FastAPI
from board import board_router

app = FastAPI()

... 이전에 정의 했던 코드들 or 코드 모두 삭제해도 됨

app.include_router(board_router)

app.include_router() function을 통해 router를 계속해서 추가해서 진행하면 된다.
router를 사용하면 main과 router들의 각각의 기등들을 모두 분리할 수 있기 때문에 편하다.

참고로 /{name} 과 같이 path를 사용했던 router는 삭제해주어야 정상 작동한다!

🟢 board 확인

/board 요청시 list를 확인이 가능하다.

다음과 같이 postman을 사용하여 post를 1,2,3 호출해주었고

board를 get방식으로 다시 호출해주면 내용이 추가된것을 확인할 수 있다.

0개의 댓글