/ / Как мога да направя и ASP филтър за действие да върне код на състоянието от 201? - asp.net, asp.net-mvc

Как мога да направя и филтър за действие на ASP да върне код за състояние от 201? - asp.net, asp.net-mvc

Имам този филтър за действия:

public class ValidateModelStateAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext actionContext)
{
if (!actionContext.ModelState.IsValid)
{
actionContext.Result = new BadRequestObjectResult(actionContext.ModelState);
}
}
}

Но моят преден код вижда това по същия начин, по който вижда загубена връзка със сървъра.

Как мога да го направя така, че вместо да върне BadRequestObjectResult, че връщам код на състоянието от 201?

Отговори:

0 за отговор № 1

Можете да изхвърлите такова изключение:

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

Това незабавно ще спре заявката и ще върне 201 на клиента.