我试图只是传入body
一个int
它不起作用为什么我需要创建一个类型为int的属性的类? (然后它的工作原理)
作品
[HttpPost]
[Route("api/UpdateMainReversed")]
public IHttpActionResult UpdateMainVerified(DataAccess.Entities.RequestMain mainValues)
{ ....}
不工作
[HttpPost]
[Route("api/UpdateMainReversed")]
public IHttpActionResult UpdateMainVerified(int mainId)
{ ....}
用邮递员测试
http://localhost:13497/api/UpdateMainReversed
身体
{
"mainId" : 1615
}
1.你的[HttpPost]期望一个int但是从你传递一个json对象的body。你应该像下面一样传递json字符串。无需提及参数名称
2.你应该使用[FromBody]如下
[HttpPost]
public void UpdateMainVerified([FromBody] int mainid)
{
}
这个链接解释得很好
设置FromBody
属性。
要强制Web API从请求正文中读取简单类型,请将
[FromBody]
属性添加到参数中。
有关详细信息Link
[HttpPost]
[Route("api/UpdateMainReversed")]
public IHttpActionResult UpdateMainVerified([FromBody] int mainId)
{ ....}