C# .Net Framework webapi 当配置模型验证

1.在入参实体类

每个属性前面加上一句

Required(ErrorMessage = "xxxx不能为空")

这里验证方式太多可以参考官网文档:将验证添加到模型 (C#) | Microsoft Learn

2.创建一个类名字叫做GlobalActionFilterAttribute.cs

cs 复制代码
    /// <summary>
    /// 异常过滤器
    /// </summary>
    public class GlobalActionFilterAttribute : ActionFilterAttribute
    {
        /// <summary>
        /// 过滤器
        /// </summary>
        /// <param name="actionContext"></param>
        public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext actionContext)
        {
            if (actionContext.ModelState.IsValid == false)
            {
                actionContext.Response = actionContext.Request.CreateErrorResponse(System.Net.HttpStatusCode.BadRequest, actionContext.ModelState);

            }
            base.OnActionExecuting(actionContext);

        }
    }

3.找到WebApiConfig.cs文件

修改内容

只需要增加一句config.Filters.Add(new GlobalActionFilterAttribute());就可以了

相关推荐
DFT计算杂谈17 分钟前
wannier90 参数详解大全
java·前端·css·html·css3
marsh020627 分钟前
43 openclaw熔断与降级:保障系统在异常情况下的可用性
java·运维·网络·ai·编程·技术
张健115640964834 分钟前
临界区和同一线程上锁
java·开发语言·jvm
月昤昽1 小时前
autocad二次开发 3.阵列与面域
c#·二次开发·autocad二次开发
超梦dasgg1 小时前
智慧充电系统设备管理服务对外接口实现方案
java·spring·微服务
xiaoye37082 小时前
Spring 事务传播机制 + 隔离级别
java·后端·spring
Arya_aa2 小时前
数据字典模块–JSR303参数校验
java
明月(Alioo)3 小时前
给 AI Agent 装上“大脑“:Java语言中Code Interpreter 的设计与实现
java·ai·agent
QuZero3 小时前
StampedLock Mechanism
java·算法
Javatutouhouduan3 小时前
Java小白如何快速玩转Redis?
java·数据库·redis·分布式锁·java面试·后端开发·java程序员