FastAPI / Pydantic принимает произвольное тело почтового запроса?

Я хочу создать конечную точку FastAPI, которая просто принимает произвольное тело почтового запроса и возвращает его.

Если я пришлю {"foo" : "bar"}, я хочу получить {"foo" : "bar"} обратно. Но я также хочу иметь возможность отправить {"foo1" : "bar1", "foo2" : "bar2"} и получить его обратно.

Я пытался:

from fastapi import FastAPI
app = FastAPI()

app.post("/")
async def handle(request: BaseModel):
    return request

Но это возвращает пустой словарь, независимо от того, что я его отправляю.

Любые идеи?


person Kosay Jabre    schedule 08.06.2020    source источник


Ответы (1)


Вы можете использовать подсказку типа Dict [Any, Any], чтобы сообщить FastAPI, что вы ожидаете любой допустимый JSON:

from typing import Any, Dict
from fastapi import FastAPI

app = FastAPI()

@app.post("/")
async def handle(request: Dict[Any, Any]):
    return request
person Gabriel Cappelli    schedule 08.06.2020