ASP.NET WebApi HttpPost 参数始终为空
Posted
技术标签:
【中文标题】ASP.NET WebApi HttpPost 参数始终为空【英文标题】:ASP.NET WebApi HttpPost parameter always null 【发布时间】:2019-09-30 18:54:56 【问题描述】:我正在尝试通过 web api microsoft 应用程序中的 post 请求传递对象的参数,但传递的参数始终为 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"
发送post请求后,public void Post(Data Url dataUrlIN)方法中的断点被触发,但url字符串为空“HelloWorld”字符串永远不会出现
【问题讨论】:
在参数中添加[FromBody] 【参考方案1】:给参数添加FromBody属性
[HttpPost]
public void Post([FromBody]DataUrl dataUrlIN)
查看Parameter Binding Documentation了解更多信息
【讨论】:
以上是关于ASP.NET WebApi HttpPost 参数始终为空的主要内容,如果未能解决你的问题,请参考以下文章
2021-07-04 .NET高级班 91-ASP.NET MVC WebApi前后端传参详解
2021-06-20 .NET高级班 58-ASP.NET Core WebApi前后端传参详解
ASP.NET Core HttpClient 请求在 webapi 返回 406 时返回 200