【发布时间】:2022-07-24 12:56:09
【问题描述】:
我有一个名为main.py 的文件,我在其中只使用一个输入参数(整数)进行了 POST 调用,其简化代码为:
from fastapi import FastAPI
app = FastAPI()
@app.post("/do_something/")
async def do_something(process_id: int):
# some code
return {"process_id": process_id}
现在,如果我运行测试代码,保存在文件test_main.py中,即:
from fastapi.testclient import TestClient
from main import app
client = TestClient(app)
def test_do_something():
response = client.post(
"/do_something/",
json={
"process_id": 16
}
)
return response.json()
print(test_do_something())
我明白了
{'detail': [{'loc': ['query', 'process_id'], 'msg': 'field required', 'type': 'value_error.missing'}]}
我无法弄清楚错误是什么。它必须保持为 POST 调用。
【问题讨论】: