Связывание в реальном времени между бэкэндом SpringBoot и Angular внешним интерфейсом - PullRequest
0 голосов
/ 13 января 2020

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

На самом деле, у меня есть компонент с именем SignatureStatusComponent, который показывает актуальный статус подписи клиента. Этот signatureStatus в Project объект обновляется только в бэкэнде через открытую конечную точку REST для сторонней службы, которая позволяет пользователям выполнять свои цифровые подписи.

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

Вот простая схема, чтобы объяснить больше архитектуры:

here

Для вашей информации, я использую SpringBoot для внутреннего интерфейса и Angular для внешнего интерфейса.

1 Ответ

2 голосов
/ 13 января 2020

Насколько я понимаю, вы хотите, чтобы приложение Angular получало уведомление, когда в бэкэнд-приложении (Spring Boot) происходит что-то конкретное c.

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

На стороне Angular вы можете использовать rx js webSocket, который дает вам наблюдаемый, который вы можете подписаться на входящие сообщения (IIR C, вы можете вызывать next () для отправки сообщений).

В серверной части взгляните на TextWebSocketHandler или один из классов SocketHandler.

Другим вариантом, если у вас есть более сложные требования, является использование протокола STOMP с двух сторон - существует множество обучающих программ по STOMP для Spring, и похоже, что есть реализация STOMP для rx js WebSocket

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