개발로 자기계발
article thumbnail
728x90
Authentication Routing  Todo Routing  Prefix Routing External Routing /  Dependencies Routing

 

1. 라우팅 역할

  • 애플리케이션의 구조를 위한 유연한 도구
  • 확장 가능 한 아키텍처를 지원
  • 파일 구조화를 도움

 

2. 구성할 프로젝트 구조

TodoApp
main.py

database.py

models.py
TodoApp/routers TodoApp/company
auth.py todos.py companyapis.py dependencies.py

External 라우팅

TodoApp 하위에 company 디렉터리 생성

company 디렉토리 하위에 companyapis.py 생성

현재 디렉토리 구조

 

companyapis.py 파일 수정

from fastapi import APIRouter

router = APIRouter()

@router.get("/")
async def get_company_name():
    return {"company_name": "Example Company, LLC"}

@router.get("/employees")
async def number_of_employees():
    return 162

 

main.py 파일 수정

from fastapi import FastAPI
import models
from database import engine
from routers import auth, todos
#companyapi.py 삽입
from company import companyapis

app = FastAPI()

models.Base.metadata.create_all(bind=engine)

app.include_router(auth.router)
app.include_router(todos.router)
#라우터 추가
app.include_router(
    companyapis.router,
    prefix="/companyapis",
    tags=["companyapis"],
    responses={418: {"description": "Internal Use Only"}}
                   )

prefix: companyapis.py안의 API의 모든 path는 /companyapis로 시작하게 된다.
tags: companyapis.py의 라우터는 companyapis라는 태그를 가진다.

728x90
SMALL
profile

개발로 자기계발

@김잠봉

틀린부분이나 조언이 있다면 언제든 환영입니다:-)