msm-components, WebSocket API, REST API и web-компонентов. Примеры рассчитаны на приложение, в котором уже подключён msm-framework-js и доступен глобальный MSM2.
1. Минимальная HTML-страница
Подключите библиотеку до своего кода и создайте один экземпляр клиента:wss://example.com на WebSocket-адрес своего приложения. Если клиент подключается без аргумента, он определяет адрес по текущему origin.
2. Вызов backend-сервиса и получение JSON
invokeAndGetJson$ возвращает RxJS Observable, поэтому ответ читается через subscribe:
3. Тот же вызов через msm-components
Сервисные helper-ы превращают Observable в Promise и возвращают полный ответ клиента:
JSON.stringify(payload):
4. Вызов репозитория
5. Обновление bean
updateBean обновляет значения bean, зарегистрированного с помощью @Component или @Service. Например, можно обновить DummyBean:
6. React-компонент с загрузкой данных
Пример паттерна из React-приложения: подписка создаётся вuseEffect, а при размонтировании отменяется.
7. SSR-перерисовка страницы
После изменения состояния или данных можно запросить повторный SSR-рендер:renderElement:
8. Подписка на пользовательское событие
Backend может публиковать события в собственный destination внутри/topic/**:
9. Переводы через TranslationManager
10. Клиентская маршрутизация
11. Web Components в HTML
Компоненты должны быть зарегистрированы библиотекой до использования в DOM:12. Работа с событиями и формой
Для DOM-формы можно получить объект payload и отправить его в сервис:13. Авторизация и выход
AuthHelper возвращает Observable для HTTP-операций авторизации:
14. REST-вызов универсального сервиса
WebSocket не требуется для простого HTTP-запроса:15. Загрузка изображения
Файлы отправляются какmultipart/form-data:
16. Обработка ошибок и повтор запроса
Оберните Promise-вызов вtry/catch, а сетевые повторы ограничьте несколькими попытками: