ASP.NET Core MVC 模型绑定

虽然学习主要以webapi为主,但是还是把MVC几个绑定特性说一下

在 ASP.NET Core MVC 中,支持以下表单类型的模型绑定。

[FromHeader],[FromQuery],[FromRoute],[FromForm]

public IActionResult CreatePerson([FromForm]Person person){    return Ok(person);
}

除了预设的三种Binding 来源外,还可以通过Model Binding Attributes 从HTTP Request 的其他数据中Binding。有以下6 种:

  • [FromHeader]
    从HTTP Header取值。
  • [FromForm]
    通过HTTP POST的form取值。
  • [FromRoute]
    是通过MVC Route URL取值。
  • [FromQuery]
    是通过URL Query参数取值。
  • [FromBody]
    从HTTP Body取值,通常用于取JSON, XML。
  • [FromServices]
    这个比较特别,不是从HTTP Request取值,而是从DI容器取值。
    DI预设是使用Constructor Injection,但Controller可能会因为每个Action用到不一样的Service导致很多参数,所以也可以在Action注入Service。

你可能感兴趣的:(asp.net,mvc)