我试图通过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”字符串从不出现
答案 0 :(得分:1)
将FromBody属性添加到参数
[HttpPost]
public void Post([FromBody]DataUrl dataUrlIN)
{
}
查看Parameter Binding Documentation以获得更多信息