Пользовательский класс маршрутизатора FastAPI — как получить все входные параметры функций маршрутизатораPython

Программы на Python
Anonymous
Пользовательский класс маршрутизатора FastAPI — как получить все входные параметры функций маршрутизатора

Сообщение Anonymous »

Есть ли способ получить входные параметры для функции fastapi APIRoute при определении пользовательского класса маршрутизатора (согласно документации)?
Например, в примере ниже, если переменная Things не была отправлена ​​в запросе, могу ли я все равно получить переданное ей значение в моем пользовательском классе маршрутизатора?
from typing import List, Callable

from fastapi import Body, FastAPI, Request, Response
from fastapi.routing import APIRoute

class CustomRoute(APIRoute):
def get_route_handler(self) -> Callable:
original_route_handler = super().get_route_handler()

async def custom_route_handler(request: Request) -> Response:

# HOW CAN I GET THE INPUTS TO sum_numbers FUNCTION HERE?

_r = await original_route_handler(request)

return _r

return custom_route_handler

def create_app():
app = FastAPI()
app.router.route_class = CustomRoute

return app

app = create_app()

@app.post("/sum")
async def sum_numbers(numbers: List[int] = Body(), things: str = "stuff"):
return {"sum": sum(numbers), "things": things}


Подробнее здесь: https://stackoverflow.com/questions/784 ... parameters

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