Web Api HTTPPost不接受int [英] Web Api HTTPPost not accepting int
本文介绍了Web Api HTTPPost不接受int的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试传递正文
一个 int
,它不起作用
为什么我需要创建一个具有int类型的属性的类吗? (然后它就起作用了)
工作
[HttpPost]
[Route( api / UpdateMainReversed)]
public IHttpActionResult UpdateMainVerified(DataAccess.Entities.RequestMain mainValues)
{....}
不工作
[HttpPost]
[Route( api / UpdateMainReversed)]
public IHttpActionResult UpdateMainVerified(int mainId)
{....}
用邮递员进行测试
2.you应该使用下面的[FromBody]
[HttpPost]
public void UpdateMainVerified([FromBody] int mainid)
{
}
此链接可以很好地说明
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
这篇关于Web Api HTTPPost不接受int的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文