没有找到合适的方法来覆盖webapi
本文关键字:方法 覆盖 webapi | 更新日期: 2023-09-27 18:03:13
您好,我已经创建了一个更干净的代码Attribute
,它只是检查出ModelState
是否有效,但它一直给我这个错误:没有找到合适的方法来覆盖OnActionExecuting
。顺便说一下,我已经在Controller
的ActionResult
上使用了它。
public class ValidateModelStateAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
if (!actionContext.ModelState.IsValid)
{
actionContext.Response = actionContext.Request.CreateErrorResponse(
HttpStatusCode.BadRequest, actionContext.ModelState);
}
}
}
这是我的控制器:
Repository<User> userRepository = new Repository<User>();
[HttpPost, ActionName("Register"), AllowAnonymous, ValidateModelState]
public ActionResult Create(UserRegister useReg)
{
userRepository.Insert(UserFactory.UserRegisterFactory(useReg));
userRepository.save();
return new HttpStatusCodeResult(HttpStatusCode.OK);
}
您可能正在使用来自命名空间System.Web.Mvc (https://msdn.microsoft.com/en-us/library/system.web.mvc.actionfilterattribute(v=vs.118).aspx)的ActionFilterAttribute。您应该使用https://msdn.microsoft.com/en-us/library/system.web.http.filters.actionfilterattribute(v=vs.118).aspx.