Ich versuche, einfach body
eine int
zu übergeben, und es funktioniert nicht Warum muss ich eine Klasse mit einer Eigenschaft vom Typ int erstellen? (dann klappt es)
ARBEITET
[HttpPost]
[Route("api/UpdateMainReversed")]
public IHttpActionResult UpdateMainVerified(DataAccess.Entities.RequestMain mainValues)
{ ....}
NICHT ARBEITEN
[HttpPost]
[Route("api/UpdateMainReversed")]
public IHttpActionResult UpdateMainVerified(int mainId)
{ ....}
Testen mit dem Postboten
http: // localhost: 13497/api/UpdateMainReversed
Karosserie
{
"mainId" : 1615
}
1.Ihre [HttpPost] erwartet ein int, aber von body passieren Sie ein json-Objekt. Sie sollten Json String wie unten übergeben. Der Parametername muss nicht angegeben werden
2.Sie sollten [FromBody] wie folgt verwenden
[HttpPost]
public void UpdateMainVerified([FromBody] int mainid)
{
}
dieser Link erklärt es gut
Setze FromBody
Attribut.
Fügen Sie dem Parameter das
[FromBody]
-Attribut hinzu, um die Web-API zu zwingen, einen einfachen Typ aus dem Anforderungstext zu lesen.
Für Details Link
[HttpPost]
[Route("api/UpdateMainReversed")]
public IHttpActionResult UpdateMainVerified([FromBody] int mainId)
{ ....}