Asp.net web api ASP.NET 5、MVC 6、API响应状态

Asp.net web api ASP.NET 5、MVC 6、API响应状态,asp.net-web-api,asp.net-core-mvc,Asp.net Web Api,Asp.net Core Mvc,我的MVC6API项目中有一个控制器。有一个post方法,我想要的是验证post值,并在数据无效时将一些错误返回给客户端 [HttpPost] public void Post([FromBody]PostedHistoricalEvent value) { if (!IsHistoricalEventValid(value)) { //return error status code } } 现在我想知道为什么默认模板中的Post方法没有任何返回类型,而

我的MVC6API项目中有一个控制器。有一个post方法,我想要的是验证post值,并在数据无效时将一些错误返回给客户端

[HttpPost]
public void Post([FromBody]PostedHistoricalEvent value)
{
    if (!IsHistoricalEventValid(value))
    {
       //return error status code
    }
}

现在我想知道为什么默认模板中的Post方法没有任何返回类型,而是void,那么应该如何返回错误http状态代码和一些消息

一种操作方法,它没有返回类型(
void
),或者没有响应主体的200 OK

如果要更改响应,则可以更改返回类型并返回
httpstatuscodesult

public IActionResult Post(...)
{
    // ...
    return new HttpStatusCodeResult(400);
}
或者在
控制器上设置。响应

public void Post(...)
{
    // ...
    Response.StatusCode = 400;
}