Как создать декоратор для маршрута FastAPI, который сможет захватывать значение параметра пути?Python

Программы на Python
Anonymous
Как создать декоратор для маршрута FastAPI, который сможет захватывать значение параметра пути?

Сообщение Anonymous »

У меня есть такой маршрут FastAPI:

Код: Выделить всё

@router.put("/{workflowID}", response_model=WorkflowResponse)
async def update_workflow_endpoint(
workflowID: int,
workflow: WorkflowUpdateRequest,
db: AsyncSession = Depends(get_db)
):
... // Remaining code
Я хочу написать декоратор, который получает идентификатор рабочего процесса параметра пути, например:

Код: Выделить всё

@allowed_perm('WF_ADMIN', {workflowID})
Таким образом, он получает два параметра — строку WF_ADMIN и значение параметра пути workflowID.
Например: если API был вызван так /5, то я хочу, чтобы декоратор внутренне получил значение 5.
Как это можно сделать? Я пытаюсь создать свой модуль разрешений, и хотя я знаю, что это можно сделать с помощью зависимостей, мне хотелось знать, можно ли сделать то же самое с помощью декораторов.

Подробнее здесь: https://stackoverflow.com/questions/790 ... the-path-p

Вернуться в «Python»