【发布时间】:2018-11-19 03:56:48
【问题描述】:
我有以下 WEB API 方法,并且有一个带有 Angular 的 SPA 模板:
[HttpPost]
public IActionResult Post([FromBody]MyViewModel model)
我认为,基于this主题,这里不需要使用[FromBody],因为我想从消息体中读取值,所以不需要覆盖默认行为,但是,如果我不使用[FromBody],来自 Angular 的模型为空。我真的很困惑,既然我使用了默认行为,为什么还要使用[FromBody]?
【问题讨论】:
-
如果你使用 HttpPost 从你的角度调用 .net Core 中的 api,你必须使用
[FromBody] -
@Niladri 好的。我知道。但为什么呢?
-
检查下面 stephen 给出的链接...这是由于 .NET Core 中的 json 模型绑定。对于查询字符串,您必须将
[FromQuery]与 httpget 一起使用。 -
在 ASP.NET Core 2.1 中,如果明确将正文分配给 Post 中的该参数,则此属性可能是可选的。
标签: c# angular asp.net-core asp.net-core-mvc asp.net-core-webapi