2013-11-24 2 views
0

Я работаю над некоторым проектом, чтобы практиковать свои навыки. Мой проект имеет SOA и состоит из сервера приложений на одном компьютере и сервера базы данных на другом компьютере. Клиентами, использующими эту систему, могут быть как веб-телефоны, так и телефоны. Я начал делать все коммуникации внутри всех компонентов (включая клиентов) RESTFull. Однако вскоре я понял, что существуют ограничения этого подхода. Особенно на стороне клиента и сервера приложений. Самая большая проблема, с которой я столкнулся, заключается в том, как я могу распространять ошибку для клиента. Допустим, клиент отправляет запрос на изменение записи в базе данных. Таким образом, запрос отправляется на сервер приложений, и сервер приложений вызывает сервер базы данных для выполнения задания. Если по какой-то причине что-то пойдет не так, я хочу, чтобы клиент (сеть или телефон) знал об этом (около реального времени). Один вариант будет вручную распространять ошибку до моего контроллера и поместить сообщение об ошибке в ответ на запрос и отправить его обратно клиенту в качестве ответа. Но у меня такое чувство, что это неправильный способ сделать это. Есть ли способ лучше? Я использую Java, поэтому любые ссылки на любые документы, блоги, библиотеки и технологии, которые могут помочь мне в этом, приветствуются. thanksКак распространять ошибку для клиента в сервис-ориентированной архитектуре?

ответ

1

Если вы проектируете реализацию REST-ful, вы должны использовать коды состояния HTTP для возврата кодов ошибок вашим клиентам. В Apigee есть несколько отличных руководств по дизайну API REST-ful. Я рекомендую потратить некоторое время на их сайт, проходя через них.

Here's a good tutorial on error messaging in REST-ful API design.

Смежные вопросы