в каком слое реализовать валидатор дао ответа? - PullRequest
1 голос
/ 20 августа 2011

У меня есть DAO, который звонит на REST WS.Чтобы предотвратить недействительные данные, отправленные WS, я хочу реализовать валидатор.

Где я должен его реализовать?

1 - в слое dao, внутри объекта DAO.

2 - в слое dao, но в отдельном классе, поскольку DAO должен выполнять только CRUD

3 - в слое обслуживания

Другой вопрос: я хочу выброситьисключение, когда возникают недействительные данные.

Проверено или не проверено?

Я уточняю, что я использую Spring Security, и когда я буду вызывать свою Службу, мне придется перехватить это исключение, чтобы преобразовать его в исключение весны AuthenticationException.

Большое спасибо.

1 Ответ

1 голос
/ 20 августа 2011

Это зависит от того, кто обладает знаниями, необходимыми для проверки данных, отправляемых обратно с WS.Если служба обладает знаниями (вероятно, потому что она создает данные в первую очередь, но не гарантирует), то пусть проверка будет выполнена службой.Он может выдать исключение из-за сбоя проверки, как если бы обычный компонент java выдавал (это включается в исключение SoapException, когда оно появляется у клиента).

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

...