Web Api HTTPPost 不接受 int

Web Api HTTPPost not accepting int(Web Api HTTPPost 不接受 int)

本文介绍了Web Api HTTPPost 不接受 int的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图只传入 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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Web Api HTTPPost 不接受 int

基础教程推荐