有没有一种解决方案可以有效地对每个api端点进行完整性检查?

时间:2019-04-14 12:08:09

标签: asp.net-mvc design-patterns integrity

我们有一个api,我们正在对其进行完整性检查。 即检查允许请求操作的客户端以获取信息。 现在,我们正在为每个端点实现跨团队的验证属性,这是非常痛苦的。 每个参数签名不同的方法签名(即一个是某种类,一个是ID字符串)会创建一个新属性,现在我们拥有大量的属性来检查每个请求的完整性,并且如果涉及到某人,我们会碰撞代码创建了该属性,但未将其合并到开发人员中,我们无法得知。 另外,我们需要一种方法(现在是单元测试)来检查此检查是否覆盖了所有mvc方法。 有没有有效的一般方法和更集中的方法来做到这一点?

希望您的评论在这里是一些示例代码-

我的建议是在一个验证服务中使用反射。 或根本不使用属性,而只是使用通用类,但这并不强制

[DashboardActionValidation(eDashboardActions.ViewAccountStatements)]     公共类someController:basecontroller     {         私有只读IValidationService _someService;

    public someController (IAccountStatementService accountStatementService, IValidationService _omeService, validationService) : base(validationService)
    {

    }

    [HttpPost]
    [SomeIntegrityCheck("model")]
    public ActionResult GetAll(AccountStatementRequestModel model)
    {
        return new JsonNetResult(_someService.GetSomeResultToClient(model));
    }

}

就像我说的那样,我想要一种有效的方法来在公司所有开发的API代码中强制执行此操作。

0 个答案:

没有答案