私は通常Tornadoを使用しており、FastAPIに移行しようとしています。
非常に基本的な次のAPIを考えてみましょう
@app.post("/add_data")
async def add_data(data):
return data
次の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 payload
cURLリクエストの例は次の形式になります。
curl -X POST "http://0.0.0.0:6022/add_data" -d '{"data":"Hello"}'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加