小编Hen*_*mas的帖子

如何在带有 FastAPI 的嵌套路由器中包含路径参数?

如何将一个包含APIRouter在另一个中并指定某个路径参数是必需的前缀?

\n

对于上下文:\n假设我有组织和用户的概念。一个用户只属于一个组织。我的网络应用程序的结构如下:

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 web_app\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 endpoints\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py # produces main_router by including other routers inside each other\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 organization.py # contains endpoints relevant to the organization\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 user.py # contains endpoints relevant to the user\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main.py # includes main_router in app\n
Run Code Online (Sandbox Code Playgroud)\n

假设我想为组织和用户实现基本的 CRUD 功能。我的端点可能看起来像这样:

\n

对于组织:

\n
GET /api/latest/org/{org_id}\nPOST /api/latest/org/{org_id}\nPUT /api/latest/org/{org_id}\nDELETE /api/latest/org/{org_id}\n
Run Code Online (Sandbox Code Playgroud)\n

对于用户:

\n
GET /api/latest/org/{org_id}/users/{user_id}\nPOST /api/latest/org/{org_id}/users/{user_id}\nPUT /api/latest/org/{org_id}/users/{user_id}\nDELETE /api/latest/org/{org_id}/users/{user_id}\n
Run Code Online (Sandbox Code Playgroud)\n

由于用户嵌套在 orgs 下,因此user.py可以像这样编写所有端点:

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 web_app\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 endpoints\n …
Run Code Online (Sandbox Code Playgroud)

python fastapi

3
推荐指数
1
解决办法
2763
查看次数

标签 统计

fastapi ×1

python ×1