データベースをテストするための簡単なAPIを構築しています。 getリクエストを使用するとすべてが正常に機能しますが、postに変更すると「unprocessable entity」エラーが発生します。
FastAPIコードは次のとおりです。
from fastapi import FastAPI
app = FastAPI()
@app.post("/")
def main(user):
return user
次に、JavaScriptを使用した私のリクエスト
let axios = require('axios')
data = {
user: 'smith'
}
axios.post('http://localhost:8000', data)
.then(response => (console.log(response.url)))
そしてPythonを使う
import requests
url = 'http://127.0.0.1:8000'
data = {'user': 'Smith'}
response = requests.post(url, json=data)
print(response.text)
また、jsonとして解析し、utf-8を使用してエンコードし、ヘッダーを変更しようとしています。私にとってはうまくいきませんでした。
POSTリクエストボディを取り込むためのリクエストの場合、次のようにする必要があります
Pydanticベースモデルユーザーを作成する
from pydantic import BaseModel
class User(BaseModel):
user_name: str
@app.post("/")
def main(user: User):
return user