web-dev-qa-db-fra.com

Python: erreur FastAPI 422 avec demande de publication

Je construis une API simple pour tester une base de données. Lorsque j'utilise get request, tout fonctionne correctement, mais si je passe à la publication, j'obtiens une erreur "entité non traitable":

Voici le code FastAPI:

from fastapi import FastAPI

app = FastAPI()

@app.post("/")
def main(user):
    return user

Ensuite, ma demande en javascript

let axios = require('axios')

data = { 
    user: 'smith' 
}

axios.post('http://localhost:8000', data)
    .then(response => (console.log(response.url)))

Et en utilisant Python

import requests

url = 'http://127.0.0.1:8000'
data = {'user': 'Smith'}

response = requests.post(url, json=data)
print(response.text)

J'essaye également d'analyser comme json, enconding en utilisant utf-8, et changez les en-têtes. Rien n'a fonctionné pour moi.

3
Smith

Pour POST Demandes de prise en charge du corps de la requête, vous devez procéder comme suit

Créer un utilisateur du modèle de base Pydantic

from pydantic import BaseModel

class User(BaseModel):
    user_name: str


@app.post("/")
def main(user: User):
   return user
1
Avinash Ravi