main.py 파일에서는 FastAPI의 인스턴스를 생성하고, 분리된 라우터를 포함시키는 구조로 작성합니다.
from fastapi import FastAPI
from users import users_controller
app = FastAPI()
app.include_router(users_controller.router)
users_controller.py에서는 APIRouter를 사용하여 사용자 관련 경로를 관리합니다. 데이터베이스 세션과 같은 의존성을 포함하는 방식도 포함할 수 있습니다.
from fastapi import APIRouter, Depends
from config.database import Session
router = APIRouter()
@router.get("/users/", tags=["users"])
async def read_users():
return [{"username": "Rick"}, {"username": "Morty"}]