Angular2 HTTP Post ASP.NET MVC-Web-API

Wie gehen Sie richtig erstellen eines Web API-POST eines komplexen Objekts oder mehrerer Parameter unter Verwendung Angular2?

Habe ich eine service-Komponente im Angular2, wie unten gesehen:

public signin(inputEmail: string, inputPassword: string): Observable<Response> {
    return this.http.post('/api/account/signin', JSON.stringify({ Email: inputEmail, Password: inputPassword}), this.options);
}

Die gezielte web-api ist unten zu sehen:

[HttpPost]
[Route("signin")]
public async Task<IActionResult> Signin(string email, string password)
{
       ....
}

Funktioniert das nicht, weil ich brauche, um zu konvertieren, die Parameter des web-api in einem einzigen POCO entity-Klasse mit E-Mail und Passwort-Eigenschaften und legen Sie die [FromBody] Attribut: Signin([FromBody] Credential credential)

Ohne Verwendung [FromURI] (POST-Abfragen mit query-strings?), wie kann ich Beiträge von mehreren Parametern oder komplexe Objekte ohne Konvertierung diese Parameter in einem einzigen POCO-Klasse?

Weil was ist, wenn ich habe zahlreiche Web-API-POST-Aktionen mit Parametern wie (string sensitiveInfo1, string name, int sensitiveInfo2) oder (ClassifiedInfo info, string sensitiveInfo1, string sensitiveInfo2) muss ich konvertieren Sie Sie alle zu POCO-Klassen, und immer mit [FromBody]?

PS.
Ich war mit RestangularJS vor und es können Beiträge etwas (mehrere primitive Objekte und komplexe Objekte) ohne meine Web-API-Aktionen mit [FromBody] Attribute. Wird etwa zu untersuchen, wie RestangularJS es tun.

  • Da müssen Sie definieren Argumente, die auf die Aktion mit email und password mit e und p im unteren Fall, ich denke, dass der javascript-code sollte gleich sein, zum Beispiel: JSON.stringify({ email: inputEmail, password: inputPassword}).
  • Dies gilt nicht für .NET mit JSON.Net wie dem JSON-serializer. Es ist standardmäßig nicht case sensitive.
InformationsquelleAutor raberana | 2016-03-29
Schreibe einen Kommentar