Должен ли я проверять ввод на уровне API или BL? - PullRequest
1 голос
/ 22 апреля 2019

У меня есть приложение node.js со слоями API, BL и DAL, и я хочу проверить пользовательский ввод.

В настоящее время я делаю проверку в начале функций BL, так что оно удваивается каквалидатор пользовательского ввода и валидаторы внутреннего приложения (вызовы из других классов)

Я боюсь, что это не очень хорошая практика, так как валидация может происходить несколько раз при одном вызове API для некоторых функций (например, функции, принимающей userId)а затем отправляет userId другим функциям, проверяя одно и то же значение несколько раз)

1 Ответ

0 голосов
/ 22 апреля 2019

Вы должны проверять данные, когда они поступают от запроса к вашим маршрутам, используя промежуточное ПО:

router
  .get('/', validators.users.index, actions.users.index)

Если вы хотите, я могу поделиться остальным кодом проверки с Joi.

...