use*_*602 12 python curl http-status-code-422 fastapi
我通常使用 Tornado,并尝试迁移到 FastAPI。
假设我有一个非常基本的 API,如下所示:
@app.post("/add_data")
async def add_data(data):
return data
Run Code Online (Sandbox Code Playgroud)
当我运行以下 Curl 请求时:
curl http://127.0.0.1:8000/add_data -d 'data=Hello'
我收到以下错误:
{"detail":[{"loc":["query","data"],"msg":"field required","type":"value_error.missing"}]}
所以我确信我错过了一些非常基本的东西,但我不知道那可能是什么。
由于您要发送字符串数据,因此必须在路由器函数中指定该字符串,输入为
from pydantic import BaseModel
class Payload(BaseModel):
data: str = ""
@app.post("/add_data")
async def add_data(payload: Payload = None):
return payloadRun Code Online (Sandbox Code Playgroud)
示例 cURL 请求将采用以下形式:
curl -X POST "http://0.0.0.0:6022/add_data" -d '{"data":"Hello"}'Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12685 次 |
| 最近记录: |