Heim  >  Artikel  >  Backend-Entwicklung  >  Wie poste ich JSON-Daten von JavaScript an FastAPI und vermeide einen 422 Unprocessable Entity Error?

Wie poste ich JSON-Daten von JavaScript an FastAPI und vermeide einen 422 Unprocessable Entity Error?

DDD
DDDOriginal
2024-11-10 21:49:021034Durchsuche

How to Post JSON Data from JavaScript to FastAPI and Avoid a 422 Unprocessable Entity Error?

JSON-Daten von JavaScript an FastAPI senden

In diesem Szenario besteht das Ziel darin, einen Wert namens „ethAddress“ aus einem Eingabeformular zu übergeben auf dem Client an FastAPI zur Verwendung bei der Diagrammerstellung. Es tritt jedoch der Fehler 422 Unprocessable Entity auf. Die Analyse des Problems zeigt, dass das Problem in der Art und Weise liegt, wie FastAPI „ethAddress“ als Abfrageparameter interpretiert und erwartet, dass es Teil der URL ist.

Um dieses Problem zu beheben, haben Sie je nach Ihren spezifischen Anforderungen mehrere Möglichkeiten Anforderungen:

Option 1: Erstellen Sie ein Pydantic-Modell

Definieren Sie ein Pydantic-Modell, um die Datenstruktur zu verarbeiten, die Sie vom Kunden erwarten. Erstellen Sie in diesem Fall eine Item-Klasse mit einem einzelnen „eth_addr“-Feld.

Option 2: Verwenden Sie den Body-Typ

Alternativ können Sie den FastAPI-Body-Typ zur Bezeichnung verwenden dass der Parameter aus dem Hauptteil der Anfrage interpretiert werden soll.

Option 3: Einbetten des Hauptteilparameters

Wenn Sie einen einzelnen Hauptteilparameter haben, können Sie ihn vereinfachen Sie können den Code weiter verfeinern, indem Sie das Argument „embed=True“ im Body-Typ verwenden, wodurch FastAPI die JSON-Daten direkt aus dem eingebetteten Body analysieren kann.

Senden von JSON-Daten aus JavaScript

Sobald Sie das Backend angepasst haben, können Sie den JavaScript-Client so konfigurieren, dass er die JSON-Daten entsprechend sendet. Stellen Sie sicher, dass Sie die entsprechenden Header festlegen (z. B. „Content-Type“: „application/json“) und JSON.stringify verwenden, um die Daten vorzubereiten, bevor Sie sie über Fetch senden.

Zusätzliche Ressourcen

Detailliertere Anleitungen und JavaScript-Beispiele zum Posten von JSON-Daten finden Sie in den folgenden Ressourcen:

  • https://fastapi.tiangolo.com/tutorial/body/
  • https://stackoverflow.com/questions/64357060
  • https://stackoverflow.com/questions/64762081
  • https://stackoverflow.com/questions/64266617

Das obige ist der detaillierte Inhalt vonWie poste ich JSON-Daten von JavaScript an FastAPI und vermeide einen 422 Unprocessable Entity Error?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn