SpringBoot后端与Angular前端实时绑定

Real time binding between SpringBoot backend and Angular frontend

我正在寻找一种解决方案,让我可以让 Angular 组件侦听由其他服务更新的后端对象。

实际上,我有一个名为SignatureStatusComponent 的组件可以显示客户签名的实际状态。 Project 对象中的 signatureStatus 仅在后端通过 REST 公开端点更新到允许用户执行其数字签名的第三方服务。

我的问题是如何在第三方服务执行回调更改状态后实时更新 UI 与实际状态。

这里有一个简单的模式来解释更多的架构:

供您参考,我在后端使用 SpringBoot,在前端使用 Angular

据我了解你的问题,你希望 Angular 应用程序在后端(Spring 引导)应用程序发生特定情况时得到通知。

有多种可能性,包括轮询,但在我看来,最直接的方法是使用 Web Sockets。

在 Angular 方面,您可以使用 rxjs webSocket,它为您提供了一个 Observable,您可以订阅入站消息(IIRC,您可以在其上调用 next() 来发送消息)。

在后端,查看 TextWebSocketHandler 或 SocketHandler 之一 类。

如果您有更复杂的要求,另一种选择是在两端使用 STOMP 协议 - 有很多 Spring 的 STOMP 教程,看起来有一个 STOMP 实现rxjs WebSocket