首页 > 其他分享 >core swagger 参数验证

core swagger 参数验证

时间:2024-06-03 11:32:55浏览次数:13  
标签:core Required 验证 是否 ErrorMessage 格式 swagger 属性

1.FileTypeDto实体类添加属性 Required


        /// <summary>
        /// 分类名称
        /// </summary>
        [Required(ErrorMessage = "分类名称不能为空")]
        public string TypeName { get; set; }

        //参数验证示例
        /*
        [ValidateNever]:指示属性或参数应从验证中排除。
        [CreditCard]:验证属性是否具有信用卡格式。
        [Compare]:验证模型中的两个属性是否匹配。
        [EmailAddress]:验证属性是否具有电子邮件格式。
        [Phone]:验证属性是否具有电话号码格式。
        [Range]:验证属性值是否在指定的范围内。
        [RegularExpression]:验证属性值是否与指定的正则表达式匹配。
        [Required]:验证字段是否不为 null。
        [StringLength]:验证字符串属性值是否不超过指定长度限制。
        [URL]:验证属性是否具有 URL 格式。
        [Remote]:通过在服务器上调用操作方法来验证客户端上的输入。 
         */
        //[Required(ErrorMessage = "检测日期不能为空")]
        //[StringLength(10, ErrorMessage = "名字长度不能超过10个字符!")]
        //[Phone(ErrorMessage = "手机格式错误!")]

2.Controller写法


        [HttpPost]
        [AuthorizeFilter]
        public async Task<TData<string>> SaveForm([FromBody] FileTypeDto dto)
        {
            return await fileTypeBLL.SaveForm(new TransExp<FileTypeDto, FileTypeEntity>().Trans(dto));
        }

3.AuthorizeFilter过滤器写法,重写OnActionExecution方法,增加参数校验

        /// <summary>
        /// 异步接口日志
        /// </summary>
        /// <param name="context"></param>
        /// <param name="next"></param>
        /// <returns></returns>
        public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
        {
            #region 参数校验
            System.Collections.Generic.List<string> errors = context.ModelState
                     .Values
                     .SelectMany(x => x.Errors
                         .Select(p => p.ErrorMessage))
                     .ToList();
            if(errors.Count()>0)
            {
                // 统一返回格式
                TData<string> result = new TData<string>()
                {
                    Message = errors.FirstOrDefault()
                };
                context.Result = new JsonResult(result);
                return;
            }
            #endregion

4.最终效果

标签:core,Required,验证,是否,ErrorMessage,格式,swagger,属性
From: https://www.cnblogs.com/oBehavior/p/18228455

相关文章

  • 【IC验证】一文速通多通道数据整型器(MCDF)
    目录01README02MCDF设计结构2.1功能描述2.2设计结构2.3接口与时序2.3.1系统信号接口2.3.2通道从端接口2.3.3整形器接口2.3.4控制寄存器接口2.3.4.1接口时序图2.3.4.2各数据位信息03验证框图3.1reg_pkg3.1.1reg_trans3.1.2reg_driver3.1.3reg_......
  • .NET Core IServiceCollection注入 拓展方法
    一般注入比较麻烦,可以不依赖第三方组件命名空间注入usingMicrosoft.Extensions.DependencyInjection;usingNewtonsoft.Json;usingSystem.Reflection;publicstaticclassServiceCollectionExtensions{publicstaticIServiceCollectionAddTransientFromNames......
  • sift算法实现指纹验证
     本代码将使用SIFT特征检测和FLANN匹配器来比较两枚指纹是否与模板指纹匹配。模板指纹需要匹配的指纹1.定义显示图像的函数importcv2defcv_show(name,img):cv2.imshow(name,img)cv2.waitKey(0)2.定义计算匹配点个数的函数defverification(src,mode......
  • 微信小程序开发中的表单验证与数据提交
    表单验证和数据提交在微信小程序开发中是非常常见的功能。表单验证用于确保用户输入的数据符合指定的格式要求,数据提交用于将用户输入的数据发送到服务器端进行处理。下面是一个示例,演示了如何在微信小程序中进行表单验证和数据提交。首先,让我们创建一个简单的表单,包含用户名......
  • 【WEEK14】 【DAY5】Swagger Part 3【English Version】
    2024.5.31FridayFollowingupon【WEEK14】【DAY4】SwaggerPart2【EnglishVersion】Contents16.6.ConfigureAPIGroups16.6.1.ModifySwaggerConfig.java16.6.2.Restart16.7.EntityConfiguration16.7.1.Createanewpojofolder16.7.2.ModifyHelloCont......
  • 【WEEK14】 【DAY3】Swagger Part 1【English Version】
    2024.5.29WednesdayContents16.Swagger16.1.IntroductiontoSwagger16.1.1.Front-EndandBack-EndSeparation16.1.2.TheEraofFront-EndandBack-EndSeparation16.1.3.IssuesArising16.1.4.Solution16.1.5.Swagger16.2.IntegratingSwaggerintoSpringBoot1......
  • 百度文库最新AI旋转验证码识别
    上个月发现百度文库最新出了一个验证码,是AI生成的。内容每次可能都不一样,所以给识别造成了很大困难。传统的比对放松完全失效。一、介绍这个是最近才出的最新验证码,内容主要以工厂、建筑、山峰、机器人、汽车、盆栽植物等为主。如下图所示优点:解决了图片种类有限的问题,AI......
  • 【swagger】@ApiImplicitParam注解Integer类型required=true时不能提交、@ApiImplicit
    文章目录一、问题描述二、问题原因三、解决方法3.1、修改dataType=int3.2、修改dataType=Long3.3、修改dataType类型为String类型3.4、当dataType类型为Integer时,删除required=true以下内容基于swagger2.9.2进行讲解<!--swagger2--><dependency> <groupId>io.sp......
  • 【WEEK14】 【DAY5】Swagger第三部分【中文版】
    2024.5.31Friday接上文【WEEK14】【DAY4】Swagger第二部分【中文版】目录16.6.配置API分组16.6.1.修改SwaggerConfig.java16.6.2.重启16.7.实体配置16.7.1.新建pojo文件夹16.7.2.修改HelloController.java16.7.3.重启16.8.常用注解16.8.1.Swagger的所有注解定义在i......
  • 推荐一个Github上收集了大量的C#/.NET/.NET Core项目宝库组织
    项目宝库介绍为.NET开发者提供一个寻找优秀C#/.NET/.NETCore项目和框架的入口,通过了解和对比更多的项目和框架来选择最适合我们自己学习、工作开发的一套项目或者框架。优秀的项目不应该被埋没,欢迎大家一起加入这个组织共同完善、发展.NET社区!这些都是非常优秀的项目和框架,排......