I am trying to just pass in body
a int
and it does not work Why do I need to create a class with a property of type int ? (then it works)
WORKS
[HttpPost]
[Route("api/UpdateMainReversed")]
public IHttpActionResult UpdateMainVerified(DataAccess.Entities.RequestMain mainValues)
{ ....}
DO NOT WORK
[HttpPost]
[Route("api/UpdateMainReversed")]
public IHttpActionResult UpdateMainVerified(int mainId)
{ ....}
Testing with Postman
http://localhost:13497/api/UpdateMainReversed
Body
{
"mainId" : 1615
}
1.Your [HttpPost] expects a int but from body you are passing a json object. you should pass json string like below. No need to mention parameter name
2.you should use [FromBody] as below
[HttpPost]
public void UpdateMainVerified([FromBody] int mainid)
{
}
this link explains it well
Set FromBody
Attribute.
To force Web API to read a simple type from the request body, add the
[FromBody]
attribute to the parameter.
For details Link
[HttpPost]
[Route("api/UpdateMainReversed")]
public IHttpActionResult UpdateMainVerified([FromBody] int mainId)
{ ....}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.