FastAPI/Pydantic 接受任意发布请求正文?
Posted
技术标签:
【中文标题】FastAPI/Pydantic 接受任意发布请求正文?【英文标题】:FastAPI/Pydantic accept arbitrary post request body? 【发布时间】:2020-09-27 17:26:37 【问题描述】:我想创建一个 FastAPI 端点,它只接受任意的 post 请求正文并返回它。
如果我发送 "foo" : "bar"
,我想找回 "foo" : "bar"
。但我也希望能够发送"foo1" : "bar1", "foo2" : "bar2"
并取回。
我试过了:
from fastapi import FastAPI
app = FastAPI()
app.post("/")
async def handle(request: BaseModel):
return request
但无论我发送什么,它都会返回一个空字典。
有什么想法吗?
【问题讨论】:
【参考方案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
【讨论】:
以上是关于FastAPI/Pydantic 接受任意发布请求正文?的主要内容,如果未能解决你的问题,请参考以下文章