Heim  >  Artikel  >  Web-Frontend  >  Wie übergebe ich JSON-POST-Daten ordnungsgemäß als Objekt an eine Web-API-Methode?

Wie übergebe ich JSON-POST-Daten ordnungsgemäß als Objekt an eine Web-API-Methode?

Linda Hamilton
Linda HamiltonOriginal
2024-11-08 07:49:01689Durchsuche

How to Properly Pass JSON POST Data to a Web API Method as an Object?

Wie übergebe ich JSON-POST-Daten als Objekt an die Web-API-Methode?

ASP.NET MVC4-Web-API-Anwendungen bieten eine bequeme Möglichkeit dazu Definieren Sie POST-Methoden, die Kundendaten speichern. Wenn Kundendaten jedoch im JSON-Format im POST-Anfragetext übergeben werden, enthält der Kundenparameter in der POST-Methode möglicherweise Nullwerte für seine Eigenschaften.

Behebung des Problems: Verwendung des Inhaltstyps „application/“ json"

Um dieses Problem zu beheben, ist es wichtig, den folgenden Content-Type-Header zu verwenden:

Content-Type: application/json

Änderung anfordern:

Beim Senden der Anfrage sind folgende Änderungen erforderlich:

// Convert the customer object to a JSON string
var customerJSON = JSON.stringify(customer);

// Set the Content-Type header
var xhr = new XMLHttpRequest();
xhr.open("POST", "api/customers");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(customerJSON);

In diesem Szenario bindet der Modellbinder die JSON-Daten entsprechend an das Klassenobjekt.

Zusätzliche Überlegungen :

  • Stellen Sie sicher, dass der Web-API-Methodenparameter mit dem Attribut [FromBody] versehen ist:
public object Post([FromBody] Customer customer)
  • Wenn Sie komplexe Objekte senden, z Zeigen Sie Modelle mit verschachtelten Eigenschaften an, dekorieren Sie den Methodenparameter mit [FromBody] und geben Sie den Content-Type-Header als „application/json“ an.
  • Wenn die oben genannten Schritte fehlschlagen, stellen Sie sicher, dass die Modelleigenschaften öffentlich sind und über eine verfügen Parameterloser Konstruktor. Stellen Sie außerdem sicher, dass die Eigenschaftsnamen mit den JSON-Eigenschaftsnamen übereinstimmen.

Das obige ist der detaillierte Inhalt vonWie übergebe ich JSON-POST-Daten ordnungsgemäß als Objekt an eine Web-API-Methode?. 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