Tôi có một móc api web pre-action sẽ kiểm tra ModelState.IsValid. Nếu ModelState không hợp lệ, tôi không muốn thực hiện hành động và chỉ trả lại tin nhắn của tôi ngay lập tức. Làm thế nào chính xác để tôi làm điều này?Web Api - cách dừng đường dẫn web trực tiếp từ Bộ lọc OnActionExecuting
public class ValidateModelStateAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext actionContext) {
if (!actionContext.ModelState.IsValid)
{
var msg = actionContext.Request.CreateErrorResponse(HttpStatusCode.BadRequest, actionContext.ModelState);
// Now What?
}
base.OnActionExecuting(actionContext);
}
}
Tôi hiểu rồi, tôi có gọi là cơ sở hay không? Những gì tôi thực sự muốn là cho tất cả các bộ lọc hành động trước để chạy nhưng không phải là hành động. Bằng cách đó, bất kỳ bộ lọc ghi nhật ký nào sẽ vẫn chạy –
có, bạn có thể gọi 'base' –