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,直接返回错误信息。

  • 相关阅读:
    【SpringCloud】工程分类概况
    【Spring Alibaba】Sentinel/Nacos/RocketMQ/Seata/
    【Eureka】服务架构类知识点
    求车速
    尼科彻斯定理
    Tom数
    弟弟的作业
    汽水瓶
    POJ-2533-Longest Ordered Subsequence(LIS模板)
    HDU-1331-Function Run Fun(动态规划3)
  • 原文地址:https://www.cnblogs.com/teng-0802/p/11593105.html
Copyright © 2011-2022 走看看