mirror of
https://github.com/fastapi-practices/fastapi_best_architecture.git
synced 2025-08-18 15:00:46 +08:00
34 lines
979 B
Python
34 lines
979 B
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
from fastapi import APIRouter, Depends, Request
|
|
from fastapi.routing import APIRoute
|
|
|
|
from backend.app.common.permission import RequestPermission
|
|
from backend.app.common.rbac import DependsRBAC
|
|
from backend.app.common.response.response_schema import ResponseModel, response_base
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get(
|
|
'/routes',
|
|
summary='获取所有路由',
|
|
dependencies=[
|
|
Depends(RequestPermission('sys:route:list')),
|
|
DependsRBAC,
|
|
],
|
|
)
|
|
async def get_all_route(request: Request) -> ResponseModel:
|
|
data = []
|
|
for route in request.app.routes:
|
|
if isinstance(route, APIRoute):
|
|
data.append(
|
|
{
|
|
'path': route.path,
|
|
'name': route.name,
|
|
'summary': route.summary,
|
|
'methods': route.methods,
|
|
}
|
|
)
|
|
return await response_base.success(data={'route_list': data})
|