问题描述
我试图只传入 body
一个 int
但它不起作用为什么我需要创建一个具有 int 类型属性的类?(然后就可以了)
有效
[HttpPost][路线(api/UpdateMainReversed")]公共 IHttpActionResult UpdateMainVerified(DataAccess.Entities.RequestMain mainValues){ ....}
不工作
[HttpPost][路线(api/UpdateMainReversed")]公共 IHttpActionResult UpdateMainVerified(int mainId){ ....}
使用 Postman 进行测试
2.你应该使用[FromBody]如下
[HttpPost]公共无效UpdateMainVerified([FromBody] int mainid){}
这个链接解释得很好
https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api
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
https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api
这篇关于Web Api HTTPPost 不接受 int的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!