asp.net - 如何在 Web API 中执行 Action Method 之前调用特定函数?
问题描述
我需要在 WEB API2 中执行所有 Action 方法之前验证 2 个参数。
假设我的验证就像,
每个动作方法都必须有 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");
}
}
解决方案
推荐阅读
- reactjs - React Hooks:useState 在第一次点击处理程序时不更新状态
- bash - 从 csv 读取向变量添加新行 - bash
- amazon-web-services - AWS Cloudwatch 事件规则 - 调用 Lambda - 带参数
- hibernate - 即使 fetch 调用作为惰性 Spring Boot、Hibernate 仍然存在 N+1 问题
- php - 使用 'simplexml' php 循环遍历 xml 文件图像
- reactjs - 将 nextjs 从 8 更新到 9.3.3 破坏了样式
- asp.net-core - 使用 efcore 对“真实”数据库进行单元测试
- azure - 通过 azure 门户进行测试时的 Azure 功能 401
- python-3.x - 如何使用 Python 从 USDA_AMS 网页中提取所有 href
- java - 黄瓜测试未并行运行