我试图传递body
一个int
但它不起作用
为什么我需要创建一个类型为int的属性的类? (然后它起作用)
WORKS
[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
}
答案 0 :(得分:14)
1.你的[HttpPost]需要一个int,但是你正在传递一个json对象。你应该像下面一样传递json字符串。无需提及参数名称
2.您应该使用[FromBody],如下所示
[HttpPost]
public void UpdateMainVerified([FromBody] int mainid)
{
}
这个链接很好地解释了
答案 1 :(得分:1)
设置FromBody
属性。
要强制Web API从请求正文中读取简单类型,请将
[FromBody]
属性添加到参数中。
详细信息Link
[HttpPost]
[Route("api/UpdateMainReversed")]
public IHttpActionResult UpdateMainVerified([FromBody] int mainId)
{ ....}