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
'Develop > FastAPI' 카테고리의 다른 글
FastAPI Routing 실습 - 69 (0) | 2023.01.18 |
---|---|
FastAPI Dependencies 라우팅 - 68 (0) | 2023.01.17 |
FastAPI Prefix 라우팅 - 66 (0) | 2023.01.17 |
FastAPI Todo 라우팅(main.py 수정) 확장성 확인 - 65 (0) | 2023.01.17 |
FastAPI 라우팅 역할 및 인증 라우팅- 64 (0) | 2023.01.17 |