如何在Web API中执行操作方法之前调用特定功能?

时间:2018-06-27 08:04:50

标签: asp.net asp.net-web-api actionmethod

在WEB API2中执行所有Action方法之前,我需要先验证2个参数。

假设我的压迫感就像

  • 每个操作方法都必须有两个名为A和B的非空参数。

  • A必须大于B,并且两者都应存在于DB中。

  • 等等。

假设我有一个操作方法TestValues。我需要在Action方法中检查上述条件,并在验证失败后返回状态代码,否则需要执行其他代码。

如何从一个地方对所有动作方法执行此操作? 是否有一个经常执行的通用方法?

我的代码就像

 [HttpPost]
        public HttpResponseMessage TestValues(string a, string b, ....)
        {

            if(string.IsNullOrWhiteSpace(a) || string.IsNullOrWhiteSpace(b))
            {
            return Request.CreateResponse(HttpStatusCode.Unauthorized, "Paramater is empty.");
            }
            else if(CompareValue(a, b) //CompareValue is a user defined method
            {
            return Request.CreateResponse(HttpStatusCode.Unauthorized, "Comparision failed");
            }
            else{
                //Execute code
                 return Request.CreateResponse(HttpStatusCode.OK, "Success");
            }

        }

0 个答案:

没有答案