Asp.net 如何使和ASP操作筛选器返回状态代码201?

Asp.net 如何使和ASP操作筛选器返回状态代码201?,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我有这个动作过滤器: public class ValidateModelStateAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext actionContext) { if (!actionContext.ModelState.IsValid) { actionContext.Re

我有这个动作过滤器:

public class ValidateModelStateAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext actionContext)
    {
        if (!actionContext.ModelState.IsValid)
        {
            actionContext.Result = new BadRequestObjectResult(actionContext.ModelState);
        }
    }
}
但我的前端代码看到这一点的方式与它看到与服务器的连接丢失的方式相同


如何使其返回状态代码201而不是返回BadRequestObjectResult?

您可以抛出如下异常:

if (!actionContext.ModelState.IsValid)
{
    throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Created));
}

这将立即停止请求并将201返回给客户端。

您可以引发如下异常:

if (!actionContext.ModelState.IsValid)
{
    throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Created));
}
这将立即停止请求并将201返回给客户端。

HTTP 201
是“已创建的”-您确定这是您要查找的状态代码吗?
HTTP 201
是“已创建的”-您确定这是您要查找的状态代码吗?