Heim > Artikel > Web-Frontend > Wie werden JSON-POST-Daten mit Modellbindung in der ASP.NET MVC4-Web-API ordnungsgemäß verarbeitet?
Übergabe von JSON-POST-Daten als Objekt in der Web-API
ASP.NET MVC4-Web-API-Anwendungen definieren häufig POST-Methoden zur Verarbeitung von Datenübermittlungen. Beim Empfang von JSON-Daten im Anforderungstext können Entwickler auf Probleme stoßen, bei denen POST-Parameter auf Null gesetzt sind. Um dieses Problem zu beheben, ist es wichtig, die korrekte Verwendung von Content-Type und Modellbindung sicherzustellen.
Content-Type:
Standardmäßig verwendet ASP.NET Content -Typ: application/x-www-form-urlencoded, was nicht ideal zum Senden von JSON-Daten ist. Um JSON anzugeben, legen Sie Content-Type: application/json in Ihren Anforderungsheadern fest.
Modellbindung:
Um die Modellbindung zu aktivieren, ergänzen Sie den POST-Methodenparameter mit [ FromBody]. Dieses Attribut gibt an, dass die Daten aus dem Anforderungstext und nicht aus der URL-Abfragezeichenfolge gebunden werden sollen.
Beispiel:
Im bereitgestellten Beispiel erwartet die Controller-Methode a Kundenobjekt im Anfragetext. Um das Nullwertproblem zu beheben, stellen Sie sicher, dass Sie Content-Type: application/json in Ihren Anforderungsheadern angeben und den Parameter wie folgt mit [FromBody] ergänzen:
public object Post([FromBody] Customer customer)
Verwenden Sie auf der Clientseite JSON. stringify, um das Kundenobjekt in einen JSON-String zu konvertieren, bevor die POST-Anfrage gesendet wird.
Komplex Objekte:
Für komplexere Objekte, wie zum Beispiel Objekte mit verschachtelten Eigenschaften oder Listen, gilt der gleiche Ansatz. Verwenden Sie JSON.stringify, um das Objekt auf der Clientseite zu serialisieren und sicherzustellen, dass der richtige Content-Type-Header festgelegt ist.
Fehlerbehebung:
Wenn die Modellbindung nicht ordnungsgemäß funktioniert Beachten Sie Folgendes:
Das obige ist der detaillierte Inhalt vonWie werden JSON-POST-Daten mit Modellbindung in der ASP.NET MVC4-Web-API ordnungsgemäß verarbeitet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!