Asp.net core 将[FromBody]属性应用于.net core中的所有控制器操作
有一个简单的.NET核心API,模型在请求体中作为JSON发布,如何将Asp.net core 将[FromBody]属性应用于.net core中的所有控制器操作,asp.net-core,.net-core,asp.net-core-webapi,modelbinders,Asp.net Core,.net Core,Asp.net Core Webapi,Modelbinders,有一个简单的.NET核心API,模型在请求体中作为JSON发布,如何将[FromBody]属性应用于所有控制器方法 [Route("api/simple")] public class SimpleController : ControllerBase { [HttpPost] public IActionResult Post([FromBody] MyRequest request) { return Ok(); } } 如果我删除[From
[FromBody]
属性应用于所有控制器方法
[Route("api/simple")]
public class SimpleController : ControllerBase
{
[HttpPost]
public IActionResult Post([FromBody] MyRequest request)
{
return Ok();
}
}
如果我删除
[FromBody]
属性,所有模型属性都将为空。如果您使用内容类型:application/json
在主体内发布您的模型,那么您告诉ModelBinder
通过应用[FromBody]
属性从主体读取模型
但是将[FromBody]
添加到所有API操作中会让您感觉很糟糕
只需将应用于控制器,您就不再需要[FromBody]
[ApiController]
指示某个类型和所有派生类型用于服务HTTP API响应
使用此属性装饰的控制器配置了旨在改善开发人员构建API体验的功能和行为
因此,在ASP.NET Core 2.1及更高版本中,这在没有[FromBody]的情况下工作
[Route("api/simple")]
[ApiController]
public class SimpleController : ControllerBase
{
[HttpPost]
public IActionResult Post(OrderRequest request)
{
return Ok();
}
}