首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将事件数据和事件名称从spring boot发送到angular?

如何将事件数据和事件名称从spring boot发送到angular?
EN

Stack Overflow用户
提问于 2019-10-22 22:03:43
回答 1查看 398关注 0票数 0

我正在开发Angular和spring boot的聊天应用程序。我在Angular中使用EventSource,在Spring boot中使用ApplicationEventPublisher接口。现在,我想将事件数据和事件名称从spring boot发送到angular,这样eventSource.addListener("eventName", () => {})就可以根据事件名称捕获事件。请告诉我如何将事件数据和事件名称从spring boot发送到angular。我的spring-boot控制器:

代码语言:javascript
复制
@CrossOrigin("*")
@RestController
public class MessageController {

    @Autowired
    MessageService messageService;

    @Autowired
    ApplicationEventPublisher applicationEventPublisher;

    private static final Logger logger = LoggerFactory.getLogger(MessageController.class);

    @GetMapping(value = "/event/")
    public void getEvent(@RequestHeader(value = "Content-Type", defaultValue = "text/event-stream")) 
    {
        logger.info("AWSTranslateController:: getEvent() method /event");
        MessageEvent messageEvent = new MessageEvent (this, "receiver3", response);
        applicationEventPublisher.publishEvent(messageEvent );
    }
}

springboot MessageEvent POJO:

代码语言:javascript
复制
public class MessageEvent extends ApplicationEvent{
    private static final long serialVersionUID = 1L;
    private Object eventResponse;
    private String eventName;

    public MessageEvent(Object source, String eventName, Object eventResponse) {
        super(source);
        this.eventName = eventName;
       this.eventResponse = eventResponse;
    }

    public Object getEventResponse() {
        return eventResponse;
    }

    public String getEventName() {
        return eventName;
    }

}
EN

回答 1

Stack Overflow用户

发布于 2019-12-02 20:26:36

在角度端创建一个监听服务,可能解决方案是使用WebSocket概念。一旦您的套接字端口准备好接收请求,您就可以使用该消息ping该事件。

An example with WebSocket and angular is here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58506090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档