Heim >Web-Frontend >js-Tutorial >Wie übergebe ich JSON-POST-Daten als Objekt an eine Web-API-Methode in ASP.NET MVC4?
Übergabe von JSON-POST-Daten als Objekt an eine Web-API-Methode
In der ASP.NET MVC4-Web-API kann es zu einem Szenario kommen, in dem Eine POST-Anfrage mit JSON-Daten muss als Objekt an eine Aktionsmethode übergeben werden. Ohne ordnungsgemäße Konfiguration kann der Parameter der Aktionsmethode jedoch Nulleigenschaften enthalten. Um dieses Problem zu beheben, müssen Sie die folgenden Schritte ausführen:
1. Geben Sie Content-Type als „application/json“ an:
Stellen Sie beim Senden der Anfrage sicher, dass der Content-Type-Header auf „application/json“ gesetzt ist. Dadurch wird der Server darüber informiert, dass die Daten im JSON-Format vorliegen.
2. Verwenden Sie die JSON.stringify-Methode:
Konvertieren Sie im clientseitigen Code die JSON-Daten mithilfe der JSON.stringify-Methode in einen JSON-String. Dieser Schritt ist für den Modellbinder von entscheidender Bedeutung, um die JSON-Daten an Ihr Klassenobjekt zu binden.
Beispiel:
var customer = { contact_name: "Scott", company_name: "HP" }; $.ajax({ type: "POST", data: JSON.stringify(customer), url: "api/Customer", contentType: "application/json" });
3. Dekorieren Sie den Aktionsmethodenparameter mit [FromBody]:
Dekorieren Sie in der Web-API-Aktionsmethode den Parameter, der die JSON-Daten empfängt, mit [FromBody]. Dieses Attribut gibt an, dass die Daten aus dem Anforderungstext gebunden werden sollen.
Beispiel:
public IActionResult Post([FromBody] Customer customer) { // ... }
4. Komplexe Objekte veröffentlichen:
Wenn Ihre Ansichtsmodellklasse komplexe Eigenschaften enthält (z. B. Listen oder verschachtelte Klassen), gelten dieselben Prinzipien. Stellen Sie sicher, dass der clientseitige Code ein Objekt erstellt, das der Struktur der Klasse entspricht, und es als JSON-Daten mit dem richtigen Inhaltstyp sendet.
Fehlerbehebung:
Das obige ist der detaillierte Inhalt vonWie übergebe ich JSON-POST-Daten als Objekt an eine Web-API-Methode in ASP.NET MVC4?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!