In der neuesten Version von Azure Funktionen Ich bin nicht in der Lage, eine Funktion zu erhalten, in ein Objekt auf dem Weg zu deserialisierenAzure Funktion nicht Deserialisieren Objekt
Versionen.
Azure Funktionen Core Tools: 1.0 0,0-beta.100
Funktion Runtime Version: 1.0.11015.0
Visu al Studio: 15.3.0 Vorschau 4.0
Beispiel (nicht funktioniert):
[FunctionName("Login")]
public static async Task<HttpResponseMessage> Login([HttpTrigger(AuthorizationLevel.Function, "post", Route = null)]HttpRequestMessage req, ILogger log, AuthenticatingUser user)
{
return await Task.Run(() =>
{
return req.CreateResponse(HttpStatusCode.OK, user.Username);
});
}
Bei dem Versuch, Postman zu verwenden, um diese Funktion zu schreiben, habe ich immer folgende Fehlermeldung:
Exception while executing function: Functions.Login. Microsoft.Azure.WebJobs.Host: Exception binding parameter 'user'. Microsoft.Azure.WebJobs.Host: No value was provided for parameter 'user'.
Ich habe versucht, mit Formulardaten, x-www-form-urlencoded und rohen (mit JSON ausgewählt - was ich erwartet, um zu arbeiten). Alle enden mit demselben Fehler.
Wenn ich den Benutzer aus der Funktion herausnehmen, kann ich die JSON Zugriff über übergeben werden:
var content = req.Content;
string jsonContent = content.ReadAsStringAsync().Result;
In früheren Versionen von Azure-Funktionen (bemerkenswerte nicht gebaut, um die Visual Studio-Erweiterung verwenden, beinhaltet JSON-Dateien, usw.) das hat wie erwartet funktioniert.
ich verschiedene Versionen der folgenden bin Entsendung:
{
"Username": "myUserName",
"Password": "MyPassword123"
}
Modell für den Anwender:
public static async Task<HttpResponseMessage> Login(
HttpRequestMessage req,
[HttpTrigger(AuthorizationLevel.Function, "post")] AuthenticatingUser user)
req
:
public class AuthenticatingUser
{
public string Username { get; set; }
public string Password { get; set; }
}
Peinlicher Fehler meinerseits. Arbeitete einwandfrei - danke. – Matt