Heim  >  Artikel  >  Web-Frontend  >  Wie werden JSON-POST-Daten mit Modellbindung in der ASP.NET MVC4-Web-API ordnungsgemäß verarbeitet?

Wie werden JSON-POST-Daten mit Modellbindung in der ASP.NET MVC4-Web-API ordnungsgemäß verarbeitet?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-08 01:02:03208Durchsuche

How to Properly Handle JSON POST Data with Model Binding in ASP.NET MVC4 Web API?

Ü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:

  • Stellen Sie sicher, dass [FromBody] auf die Methode angewendet wird Parameter.
  • Stellen Sie sicher, dass der Content-Type-Header in der Anfrage auf application/json gesetzt ist.
  • Überprüfen Sie, ob die Modellklassen sowohl auf der Client- als auch auf der Serverseite mit der erwarteten Datenstruktur übereinstimmen.

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!

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