【发布时间】:2018-09-28 00:31:06
【问题描述】:
在 VS2017 中我创建了新的 ASP.NET Core Web 应用程序
我的示例代码 Get 方法运行良好,但是
POST 方法总是接收 null 作为参数。
这个方法:
[HttpPost]
public void Post([FromBody]string value)
{
System.Diagnostics.Debug.Print("\n'" + value + "'\n");
}
我试过了:
curl -X POST -H "Content-Type: application/json" -d '{"msg": "hello"}' localhost:57084/api/values
In Post 值为空。
尝试使用 POSTMAN: 与内容类型和消息正文的所有可能组合。 NULL 作为输入。
尝试按照某人的建议使用“=”传递值。一样,null。
尝试使用动态。
public void Post(dynamic value)...
,值为空。
尝试使用
public void Post([FromBody] HttpRequestMessage request)...
-- 相同,为空。
我用的时候
[HttpPost]
public void Post(HttpRequestMessage request) // [FromBody]
{
string body = request.Content.ReadAsStringAsync().Result;
var headers = request.Headers;
}
请求具有属性:方法:“GET”,RequesrURL=null,Headers=null,Content=null
它可能是一些小而愚蠢的东西,但我似乎还找不到它。
【问题讨论】:
标签: c# asp.net-core asp.net-core-routing