Мне нужно спроектировать DAO, который делает вызов REST WS.Этот WS должен возвращать учетные данные пользователя с заданным именем пользователя и паролем.
Случай 1: пользователь был найден => REST WS отправляет http-код 200 и ответ с учетными данными.
Случай 2: пользователь не был найден => REST WS отправляет http-код 400и объект ошибки с причиной.
Случай 3: пользователь был найден, но его учетная запись отключена => REST WS отправляет http-код 400 и объект ошибки с причиной.
Случай4: REST WS недоступен
Каков наилучший способ в моем DAO для сопоставления ответа REST WS?
1 - Я выбрасываю функциональные проверенные исключения в моем DAO для обработки случаев объектов ошибок, а в нормальных случаях я возвращаю объекты ответа учетных данных.Когда REST WS недоступен, я выбрасываю непроверенное исключение
2 - я не выкидываю никаких функциональных исключений в моем DAO, так как это работа уровня службы.Я возвращаю то, что возвращает REST WS, то есть ответы учетных данных и ответы на ошибки в обернутом объекте, например, и я позволяю уровню службы проверять, чтобы эти объекты выполняли правильную работу.Когда REST WS недоступен, я выбрасываю непроверенное исключение
3 - я выбрасываю только непроверенные исключения для случаев ошибок и позволяю сервисному уровню решать, что с ним делать.И я возвращаю только ответные данные.
Заранее большое спасибо.