J.P*_*J.P 11 c# asp.net-core-mvc asp.net-core asp.net-core-webapi angular
我有以下WEB API方法,并有一个带Angular的SPA模板:
[HttpPost]
public IActionResult Post([FromBody]MyViewModel model)
Run Code Online (Sandbox Code Playgroud)
我想,基于这个主题,没有必要在[FromBody]这里使用,因为我想从消息体中读取值,所以不需要覆盖默认行为,但是,如果我不使用[FromBody],那么模型来自Angular的是null.我真的很困惑,我为什么要使用[FromBody],因为我使用了默认行为?
Rob*_*Rob 25
对于任何看到此问题的 .net core 3 - 您需要将 [ApiController] 添加到扩展 ControllerBase 的控制器。[FromBody] 仅在您使用 MVC 控制器时才需要。
这会导致身体以您期望的方式自动处理。
ApiController 属性的 Microsoft 文档
小智 11
您链接的问题是指web-api.您正在使用已重写的core-mvc将以前的mvc和web-api版本的管道合并到一个Controller类中.
发布json(如同x-www-form-urlencoded)时,[FromBody]需要该属性指示ModelBinder使用内容类型标头来确定IInputFormatter用于读取请求的内容.
有关在core-mvc中绑定到json的模型的详细说明,请参阅ASP.NET Core中的模型绑定JSON POST.
| 归档时间: |
|
| 查看次数: |
8194 次 |
| 最近记录: |