Службы обмена GWT между несколькими модулями
У меня есть проект, в котором в зависимости от роли пользователя он перенаправляется на совершенно разные интерфейсы сразу после входа в систему. Я планирую разделить структуру проекта на несколько модулей GWT, например:
1. Base module
2. Login module
3. Module for role1
4. Module for role2
...
У меня будут все модули, кроме Login module
продлить Base module
где я буду хранить общие компоненты пользовательского интерфейса, которые будут нужны мне везде. (например, редактирование профиля и тому подобное). Login module
будет действовать как загрузчик, и его задача будет состоять в том, чтобы просто загрузить правильный модуль сразу после того, как пользователь будет авторизован.
Проблема в том, что все мои серверные службы, которые вызывают модули GWT, практически одинаковы для всех модулей. У меня много сервисов по поиску информации, и во многих других случаях один пользователь просто заполняет информацию, а другой модерирует ее, поэтому это тоже сервис.
Как я понимаю, GWT выполняет звонки на сервер, используя шаблон URL-адреса, как это: gwtModuleName/myServiceUrl
таким образом, сервисы зависят от модуля gwt. Как я могу "разделить" один сервис между несколькими модулями GWT?
1 ответ
Очень просто, просто поместите все свои сервисные файлы на стороне клиента в базовый модуль:
com.proj.client.base com.proj.client.base.request --- MyService --- MyServiceAsync com.proj.client.modA com.proj.client.modB
com.proj.server.request - MyServiceImpl
Я использую аналогичную структуру для одного приложения с более чем 10 модулями, которые используют одни и те же сервисы.
Просто импортируйте сервис из разных модулей