首页 > 后端开发 > C++ > 如何在 ASP.NET Web API 中有效实现模型验证?

如何在 ASP.NET Web API 中有效实现模型验证?

Mary-Kate Olsen
发布: 2025-01-03 06:54:39
原创
707 人浏览过

How to Effectively Implement Model Validation in ASP.NET Web API?

ASP.NET Web API 中的模型验证

模型验证是开发强大的 Web API 的一个重要方面。 ASP.NET Web API 提供了一个用于验证传入模型数据的综合系统。

实现模型验证

要实现模型验证,请按照以下步骤操作:

  1. 启用模型验证:启用自动Web API 配置中的验证:

    config.Filters.Add(new ValidateModelFilter());
    登录后复制
  2. 注释您的模型: 使用数据注释指定模型属性的验证规则。例如:

    public class Enquiry
    {
        [Key]
        public int EnquiryId { get; set; }
        [Required]
        public DateTime EnquiryDate { get; set; }
        [Required]
        public string CustomerAccountNumber { get; set; }
        [Required]
        public string ContactName { get; set; }
    }
    登录后复制
  3. 使用自定义操作过滤器: 创建自定义操作过滤器来处理模型验证错误。全局或在控制器级别注册此过滤器:

    public class ValidationActionFilter : ActionFilterAttribute
    {
        public override void OnActionExecuting(HttpActionContext actionContext)
        {
            var modelState = actionContext.ModelState;
    
            if (!modelState.IsValid)
                actionContext.Response = actionContext.Request
                     .CreateErrorResponse(HttpStatusCode.BadRequest, modelState);
        }
    }
    登录后复制

处理验证失败

当模型验证失败时:

  • HttpActionContext 的 ModelState 属性将包含验证列表错误。
  • 自定义操作过滤器可以访问此属性并创建适当的错误响应。

其他注意事项

  • 您可以通过 ModelState 的 Errors 属性访问验证错误。
  • 自定义返回到的错误消息客户端。
  • 确保模型验证在整个 API 中保持一致。

以上是如何在 ASP.NET Web API 中有效实现模型验证?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板