如何 post 向 fastapi 请求 JSON,并在 post 函数中检索整个 JSON

How to post request JSON to fastapi, and retrieve whole JSON in the post function

我想将一个 JSON 对象传递给 fastapi 后端。这是我在前端应用程序中所做的:

data = {'labels': labels, 'sequences': sequences}
response = requests.post(api_url, data = data)

这是后端 API 在 fastapi 中的样子:

@app.post("/api/zero-shot/")
async def Zero_Shot_Classification(request: Request):
    data = await request.json()

但是,我看到一个错误:

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

您应该改用 json 参数(这会将 header 中的 Content-Type 更改为 application/json),而不是用于 data发送表单数据。另外,请查看 documentation 了解如何从对请求主体使用 Pydantic 模型中获益。

response = requests.post(api_url, json=data)