post 快速请求“422 无法处理的实体”api

post reguest '422 Unprocessable Entity' with fast api

我有一个快速的 api 应用程序,我想要一个 post 请求。

from pydantic import BaseModel
from fastapi import FastAPI


class Data(BaseModel):
    num: str

app = FastAPI()

@app.post("/set/")
def set_param(data: Data):
    return data

当我从另一个文件发送请求时:

import requests,json

req = requests.post('http://0.0.0.0:5000/set/',data={'num':'1'}).json()

我有一个错误:

INFO:     127.0.0.1:54236 - "POST /set/ HTTP/1.1" 422 Unprocessable Entity

我不知道我应该更改什么来消除此错误。

您没有发送有效的 JSON

您应该使用 json 而不是 data

json={"num":"1"}

这样使用

req = requests.post('http://0.0.0.0:5000/set/',json={'num':'1'}).json()

或者您可以使用 json.dumps()

req = requests.post('http://0.0.0.0:5000/set/', json.dumps(data={'num':'1'})).json()