ASP.NET WebApi HttpPost参数始终为null

时间:2019-05-13 19:23:27

标签: c# asp.net-web-api

我试图通过Web API Microsoft应用程序中的发布请求传递对象的参数,但传递的参数始终为null。

这是我的post方法的控制器,在调试下程序到达了该方法,但是dataUrlIN.url字符串始终为空

[HttpPost]
public void Post(DataUrl dataUrlIN)
{
    string a = dataUrlIN.url;
    a += a + "/test";
}

这是DataUrl的对象

public class DataUrl
{
    public string url { get; set; }
}

这是发帖请求

POST /api/values HTTP/1.1
Host: localhost:50673
Content-Type: application/json
User-Agent: PostmanRuntime/7.11.0
Accept: */*
Cache-Control: no-cache
Postman-Token: a12b47ba-8595-4297-b3e1-380052fb2a46,b4b4d699-206b-47ff-9fa3-71d06d4334d2
Host: localhost:50673
accept-encoding: gzip, deflate
content-length: 28
Connection: keep-alive
cache-control: no-cache

{
    "url" : "helloWorld"
}

发送发布请求后,方法public void Post(Data Url dataUrlIN)中的断点被触发,但url字符串为空,“ HelloWorld”字符串从不出现

1 个答案:

答案 0 :(得分:1)

将FromBody属性添加到参数

[HttpPost]
public void Post([FromBody]DataUrl dataUrlIN)
{
}

查看Parameter Binding Documentation以获得更多信息