【发布时间】:2017-08-28 18:11:18
【问题描述】:
所以这让我发疯了。我正在做一些非常简单的事情,将 POST 请求发送到我的 web api。端点设置如下:
[HttpPost]
[Route("locations")]
public async Task<IActionResult> PostLocations([FromBody]IEnumerable<Location>locations)
我按如下方式拨打电话:
http://localhost:60254/api/Fetch/locations
With the body
{
"Locations": [
{
"LocationId": "111",
"ProductId": 110,
"Sku": "11131-LJK"
}
]
}
And header: content-type: application/json
现在又一次,这是非常简单的东西,应该开箱即用,而这种可怕的框架变化正在搞砸一切。
现在,如果我得到 HttpContext 并直接读取正文流
using (StreamReader reader = new StreamReader(HttpContext.Request.Body, Encoding.UTF8))
{
string body = reader.ReadToEnd();
}
我可以看到正文被正确发送,我有一个格式非常好的 json,我可以转换成我想要的任何东西。所以问题是我错过了什么,这个端点不起作用?
Web api 项目模板没有添加开箱即用的配置以使其正常工作?
【问题讨论】:
-
这是一个问题 asp.net core 还是 asp.net web api?
标签: c# .net asp.net-core asp.net-web-api-routing asp.net-core-webapi