Разработка клиент-серверного переноса списка ошибок с использованием JavaEE - PullRequest
0 голосов
/ 01 ноября 2011

При вызове метода на стороне сервера я могу получить список ошибок или предупреждений, если что-то не так с некоторыми параметрами, или правильный ответ, если все в порядке.

Например, , я отправляю объект, определенный на стороне клиента, на сервер, где у меня есть логика для проверки, если этот объект в порядке, поэтому я могу вернуть список ошибок и предупрежденийсвязан с определением объекта для клиента, чтобы он мог правильно их исправить, или, если проверка прошла, что-то, говорящее, что все в порядке.

Возможное решение: Я мог бы вернуть списокиз ошибок, поэтому, когда все идет хорошо, список пуст, и когда у меня есть некоторые ошибки или предупреждения, я могу обработать их и показать их пользователю.

Является ли этот подход правильным?Есть ли шаблон дизайна, чтобы сделать это лучше?Мой опыт - архитектура клиент-сервер, и я буду использовать EJB, вызываемые со стороны клиента, используя шаблон Business Delegate для проектирования коммуникации.

1 Ответ

1 голос
/ 01 ноября 2011

Если клиент может отправлять объекты в EJB, то это, вероятно, клиент, написанный на Java.Так что на самом деле это богатый уровень представления, который вызывает методы EJB.Если это так, то проверка должна быть выполнена на этом уровне представления, IMO.

Может быть желательно, чтобы сервер добавил дополнительный уровень проверки для своей собственной безопасности, но в этом случае, так как контракт наметод четко определен, и уровень представления должен проверять объекты и соблюдать контракт, я бы просто выдал исключение времени выполнения при первой обнаруженной ошибке.

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

Предупреждения также могут быть помещены в это исключение (сообщение затем будет связано с флагом или перечислением).Если клиент вызывает метод с ignoreWarnings = false, тогда предупреждения сохраняются в исключении, и исключение выдается.Если он вызывает метод с ignoreWarnings = true, то предупреждения игнорируются, и только ошибки приводят к возникновению исключения.

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