API Router 중첩 사용하기 1
만약 redoc에서 main, main/sub1 , main/sub1/sub2의 아코디언을 분리하여 사용한다고 할 때
다음과 같이 작성하여야 한다.
- tags를 붙이면 redoc에서 아코디언이 생성된다.
- prefix를 중복해서 작성해 주어야 한다.
main_router = APIRouter(tags=["메인 라우터"])
sub1_router = APIRouter(tags=["서브1 라우터"])
sub2_router = APIRouter(tags=["서브2 라우터"])
app.include_router(main_router, prefix="/api/main")
app.include_router(sub1_router, prefix="/api/main/sub1")
app.include_router(sub2_router, prefix="/api/main/sub1/sub2")
아래 그림과 같이 3개의 아코디언이 생성된다.
API Router 중첩 사용하기 2
만약 redoc에서 main, main/sub1 , main/sub1/sub2의 아코디언을 하나로 관리 하여 사용한다고 할 때는
다음과 같이 작성하여야 한다.
- tags를 main에만 붙여 redoc에서 하나의 아코디언이 생성된다.
- prefix를 하위만 붙여주면 된다.
main_router = APIRouter(tags=["메인 라우터"])
sub1_router = APIRouter() # 태그 빼야 함
sub2_router = APIRouter() # 태그 빼야 함 !
sub1_router.include_router(sub2_router, prefix="/sub2")
main_router.include_router(sub1_router, prefix="/sub1")
app.include_router(main_router, prefix="/api/main")
다음과 같이 하나의 메인 라우터에 각 router의 메소드들이 한번에 나온다.
'Python > FastAPI' 카테고리의 다른 글
[FastAPI] (8) API Router 사용하기 (0) | 2022.12.16 |
---|---|
[FastAPI] (7) MySQL 연결 및 API Test (0) | 2022.11.01 |
[FastAPI] (6) 보일러 플레이트 (Boiler Plate) (0) | 2022.10.27 |
[FastAPI] (5) FastAPI Validation - Path, Query, Field (0) | 2022.10.26 |
[FastAPI] (4) FastAPI POST 작성법 (0) | 2022.10.26 |