в Fastapi, объявляя несколько конечных точек API с разными путями, но один и тот же параметр может привести к неожиданному поведению. Пример:
# get API Endpoint 1 @router.get ("/project/{project_id}/{employee_id}") Async def method_one (project_id: str, employee_id: str, ...): # ... # Получить API Endpoint 2 @router.get ("/project/details/{project_id}") Async def method_two (project_id: str, ...): # ... # Получить API Endpoint 3 @router.get ("/project/metadata/{project_id}") Async def method_three (project_id: str, ...): # ...
# GET API Endpoint 1
@router.get("/project/{project_id}/{employee_id}")
async def method_one(project_id: str, employee_id: str, ...):
# ...
# GET API Endpoint 2
@router.get("/project/details/{project_id}")
async def method_two(project_id: str, ...):
# ...
# GET API Endpoint 3
@router.get("/project/metadata/{project_id}")
async def method_three(project_id: str, ...):
# ...
Solution
# get API конечная точка 1 @router.get ("/project/details/{project_id}") Async def method_two (project_id: str, ...): # ... # Получить API Endpoint 2 @router.get ("/project/metadata/{project_id}") Async def method_three (project_id: str, ...): # ... # Получить API Endpoint 3 @router.get ("/project/{project_id}/{employee_id}") Async def method_one (project_id: str, employee_id: str, ...): # ...
, следуя этому порядку, когда конечные точки 2 и 3 вызываются, будут выполнены соответствующие методы Method_two () и method_three ().
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3