Web-api-aufrufen SETZEN FromBody "Wert" immer null ist.
Ich versuche zu nennen, die ValuesController WebApi controller (das wird standardmäßig erstellt) "PUT" - Methode mit cURL. Egal, was ich Tue, senden value="abc", "abc" oder "=abc" als ich sah, wie vorgeschlagen, in anderen Fragen für die POST-Methode, ohne Erfolg.
//PUT api/values/5
[HttpPut("{id}")]
public void Put(int id, [FromBody]string value)
{
}
Ich auch versucht, die änderung der Content-Type auf application/json und application/x-www-form-urlencoded, nichts scheint zu funktionieren.
curl -H -d "=TEST" -X PUT http://localhost:30960/api/values/5
Ist das ein Fehler ASP.NET 5 Web-Api oder ist es ein anderes format muss ich verwenden beim Aufruf?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Damit es funktioniert, müssen Sie übergeben Sie es als eine einfache Zeichenfolge:
Gibt es sogar eine test für dieses Verhalten
Vergessen Sie nicht, eine
application/json
Content-Type-header bei der Erteilung einer Anfrage.Ich habe es gerade getestet, die für PUT und POST Anfragen.
Mit curl ist es:
Wenn Sie die Buchungsdaten als
application/x-www-form-urlencoded
dann müssen Sie entfernen dieFromBody
Attribut. Dies ist eine änderung im Verhalten von MVC5/WebAPI2.Wenn Sie die Buchungsdaten als
application/json
, dann müssen Sie dieFromBody
und auch eine bindbare typ. Beispiel:für Daten
{ "Name" : "James"}