у нас есть API, для которого мы выполняем проверку целостности.
Т.е. проверка того клиента, который запрашивает операцию, может получить информацию.
прямо сейчас мы реализуем атрибут валидации в разных командах для каждой конечной точки, это ужасная боль.
каждая сигнатура метода, которая отличается параметрами (т. е. один является классом некоторого вида, а другой является строкой идентификатора), создает новый атрибут, и теперь у нас есть тонны атрибутов, которые проверяют целостность для каждого запроса, и мы сталкиваемся в значении кода, если кто-то уже создал этот атрибут, и он не был объединен с dev, мы не можем этого знать.
Кроме того, нам нужен способ (сейчас это модульные тесты), который проверяет, что все методы 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 в компании.