我创建了一个ASP.net Web API控制器:
public class UsersController : ApiController { //... public void Put([FromBody]User_API user,long UpdateTicks) { user.UpdateTicks = UpdateTicks; //... } }
如果客户端未提供正确的参数,则“user”参数将为null.我可以创建一个全局过滤器来检查这样的每个参数,如果发生任何错误,将返回400消息.
解决方法
最后,我得到了解决方案:
public class ModelValidateFilterAttribute : ActionFilterAttribute { public override void OnActionExecuting(HttpActionContext actionContext) { if (actionContext.ActionArguments.Any(v => v.Value==null)) { actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.BadRequest); } } }
和…
//In Application_Start() GlobalConfiguration.Configuration.Filters.Add(new ModelValidateFilterAttribute());