Ich versuche ein JSON-Objekt von einem POST-Aufruf eines Typoskripts an eine Web-API-Methode zu übergeben. Fiddler zeigt, dass das Objekt in JSON konvertiert wurde und der Inhaltstyp "Anwendung/JSON" lautet. Am API-Controller zeigt der Parameter null anstelle von JSON an.POST von Typescript zu Web API API, kein JSON-Objekt übergeben
Typoskript:
createPO(product: string): Promise<string> {
var headers = new Headers();
headers.append('Content-Type', 'application/json');
let options = new RequestOptions({ headers: headers });
return this._http.post(this._creatPOUrl, JSON.stringify(product), options)
.toPromise()
.then(response => <string>response.statusText)
.catch(this.handleError);
}
Web API: [Httppost] öffentlichen async Aufgabe CreatePOInMO ([FromBody] string Produkt) { return Ok(); }
Produkt enthält null. Wenn ich den tatsächlichen Wert innerhalb des Produktobjekts aus Typoskript (das ein JSON ist) übergeben, funktioniert es. Aber ich kann nicht so hart codieren.
Ich folgte diesem Beitrag: Angular2 Service not passing JSON to WebAPI Aber es sieht aus wie ich mache, was auch immer hier erwähnt wird.
können Sie Ihre Web-API-Konfiguration schreiben? Ich nehme an, dass der JSON-Konverter das JSON-Format nicht wie das Standard-JSON erwartet. Zum Beispiel hatte ich ein ähnliches Problem mit {name: 'test'} vom Frontend und der erwarteten Klasse im be {Name: 'Test '} Wegen des Kamelfalles konnte der WEB-API Standardkonverter die Antwort nicht übersetzen. auch eine Anfrage könnte hilfreich sein – Nicu