Веб-приложение MVC - где обеспечить достоверность данных? - PullRequest
0 голосов
/ 23 декабря 2011

Я использую Spring 3, но я думаю, что этот вопрос более широко применим.

У меня есть веб-приложение с фронт-контроллером (Spring DispatcherServlet).Оттуда вызывается служба, которая, в свою очередь, использует DAO или два для выполнения желаемой задачи, например, для добавления записи в базу данных.

Где я могу убедиться, что данные действительны?Допустим, у меня есть запись, которая имеет максимальную длину 50 символов - в какой момент я должен утверждать, что длина ввода <= 50?</p>

Если я проверю достоверность в контроллере, то, возможно, будет написан другой код, вызывающий службы, который не проверяет данные.

Я мог бы проверить достоверность на уровне службы, но, возможно, кто-томожет написать сервис, который не проверяет достоверность данных, таким образом передавая «плохие» данные в DAO.

Тогда может показаться очевидным, что проверка достоверности будет помещена в DAO - не повлияет ли это на мойвозможность проверки кода?

Каковы наилучшие методы проверки достоверности данных?

1 Ответ

1 голос
/ 23 декабря 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...