zoukankan      html  css  js  c++  java
  • webapi 传入参数校验

        /// <summary>
        /// 传入参数校验过滤器
        /// </summary>
        public class ValidateReqModelFilter : ActionFilterAttribute
        {
            public override void OnActionExecuting(HttpActionContext actionContext)
            {
                if (!actionContext.ModelState.IsValid)
                {
                    actionContext.Response = actionContext.Request.CreateErrorResponse(HttpStatusCode.BadRequest, actionContext.ModelState);
              ////如果要自定义返回    //actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.BadRequest, new ResponseMessage() { Msg = false, Message = error });
           } } }
      [ValidateReqModelFilter]
        public class TestController : ControllerEduBase
        {
                /// <summary>
                /// 测试
                /// </summary>
                [HttpPost]
                [Route("api/Test/saveSchool")]
                public JsonResult<ResponseMessage> Test(ReqTest req){
              var result = new object();
              return Json(result);
    }
    }
    public class ReqSaveSchool
        {
            /// <summary>
            /// token
            /// </summary>
            [Required(AllowEmptyStrings = false, ErrorMessage = "Token is validate")]
            public string Token { get; set; }
    
            /// <summary>
            /// id
            /// </summary>
            [RegularExpression(@"^[0-9]d*$",ErrorMessage = "Id is validate")]
            public int Id { get; set; }
    
            /// <summary>
            /// 名称
            /// </summary>
            [Required]
            [StringLength(50,ErrorMessage = "Name is exceeding the length limit")]
            public string Name { get; set; }
        }

    测试结果:如果输入参数校验失败,不会进入controller,直接返回错误信息。

  • 相关阅读:
    Linux配置NTP服务器,时间同步
    个人博客:有态度的HBase/Spark/BigData
    solr 6.2.1环境搭建
    大牛博客!Spark / Hadoop / Kafka / HBase / Storm
    hive 数据导出三种方式
    hive 分区表
    hive 创建orc表
    Tomcat中JVM内存溢出及合理配置及maxThreads如何配置(转)
    oracle 日期时间函数
    02: linux命令bak
  • 原文地址:https://www.cnblogs.com/teng-0802/p/11593105.html
Copyright © 2011-2022 走看看