Ich versuche, einige Daten zu einer Web-API-App aus einer eckigen 2 App zu posten. Es ist nur eine kleine JSON-Zeichenfolge und wenn ich den Web-API-Controller anklicke, ist das Element immer Null - egal was ich versucht habe.HttpPost zu Web-API ist immer ein Null-Parameter
Die json ist (I können die Daten von Alarmierungs sehen dies)
{"firstname":"Joe","lastname":"Bloggs"}
Die Winkelfunktion ist
createUser(user: Profile): Observable<Response> {
let url = this.usersUrl;
let data = JSON.stringify(user);
let headers = new Headers({'Content-Type': 'application/json; charset=utf-8' });
let options = new RequestOptions({ headers: headers });
return this.http.post(url, data, options);
}
Die Bahn api conroller Methode ist:
[HttpPost]
public IActionResult Create(User item)
{
if (item == null)
{
return BadRequest();
}
Users.Add(item);
return CreatedAtRoute("GetUser", new { id = item.Id }, item);
}
aber Wenn ich den Punkt bei Create aufreiße, ist das Benutzerelement null.
Ich habe versucht:
public IActionResult Create([FromBody] User item)
aber die Fehlermeldung in dem Chrome Konsolenfenster ist
Failed to load resource: the server responded with a status of 415 (Unsupported Media Type)
Ich habe versucht
let headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' });
aber der Fehler ist die gleiche wie oben.
Irgendwelche Ideen? :)
Verwenden Sie 'JSON.parse()' anstelle von 'JSON.stringify()' hier Lassen Sie Daten = JSON.stringify (Benutzer); Wenn du JSON String hast, benutze sonst nichts, lass nur Daten = Benutzer; – rashfmnb
Funktioniert nicht.User ist eine Klasse mit Vornamen, Nachnameneigenschaften. Fehlermeldung - kompiliert den Typ nicht Profil kann nicht dem Parameter vom Typ string zugewiesen werden. – thegunner
versuchen Sie diese Signatur für die Contorller-Methode public IHttpActionResult Create (JObject-Benutzer) – rashfmnb