python - request.scope 中的 FastAPI 路由器不正确
问题描述
我在 /routers/myrouter.py 有一个文件:
router = APIRouter(prefix="/myrouter", tags=['mytag'])
@router.get("/meta", status_code=200)
@api_log
async def endpoint(commons: dict = Depends(common_parameters)):
rtr = commons['request'].scope['router']
prefix = rtr.prefix
tags = rtr.tags
print(prefix)
print(tags)
我已经在我的 main.py 文件中注册了这个路由器
app = FastAPI()
app.include_router(myrouter.router)
当我转到 url 时,我期待以下输出http://localhost:5000/myrouter/meta
:
/myrouter
['mytag']
但由于某种原因,我得到以下输出:
[]
即没有前缀或标签。为什么不识别路由器?
PS:我需要从请求对象(可能来自另一个文件)中获取路由器。
解决方案
推荐阅读
- javascript - 嵌套数组 group-by 与 lodash
- neo4j - Neo4j 管理员负载转储文件给出“系统找不到指定的路径”,无论路径如何
- ios - 如何使用Objective c在iOS中单击通知时打开视图控制器?
- html - 如何使我的幻灯片内容具有响应性?
- javascript - 使用 React Native 创建嵌套 AJAX 请求的专业方法
- php - PHP 正则表达式:如何将 rel=stylesheet 替换为 rel=preload?
- wix - 无法在 UPGRADINGPRODUCTCODE、WIX_UPGRADE_DETECTED 中获取 MSI 属性
- javascript - GraalVM 如何将 java List 对象传输到 javascript,以便我可以在它们上制作 .push() 和 .forEach()?
- php - 是什么导致 object(mysqli_result)#3 (5) 在屏幕上显示?
- azure - Azure ServiceBusEnvironment.SystemConnectivity.Mode 指南