检索标头值发送到Stomp消息

时间:2019-04-11 08:18:31

标签: angular spring-boot stomp

我已经使用Web套接字(Stomp)在Spring引导服务和Angular 7客户端之间建立了通信。目前,我能够从Spring Boot应用程序中推送带有标头的消息,也可以接收它。但是我无法以任何格式访问这些标头。

有什么方法可以读取Stomp邮件标题吗?

我试图将其解析为JSON,但它也失败了。我可以将标头字符串化,但随后在处理字符串和获取所需的标头值方面要做很多工作。

这是ts文件中的相关代码

this.messagingService = new MessagingService(WEBSOCKET_URL, EXAMPLE_URL);

// Subscribe to its stream (to listen on messages)
this.messagingService.stream().subscribe((message: Message) => {
  this.messageHistory.unshift(message.body);
  console.log("all -> "+message);
  console.log("body -> "+message.body);
  console.log("headers -> "+JSON.stringify(message.headers));

});

这是后端:

@Scheduled(fixedRate = 10000)
public void sendMessage() {
    Map<String, Object> headers = new HashMap<>();
    headers.put("regno", "BCD123");
    template.convertAndSend(SENDING_URL, 1, headers);
}

JSON.Stringify之后得到的结果是

headers -> {"content-length":"1","message-id":"0-4","subscription":"sub-0","content-type":"application/json;charset=UTF-8","destination":"/topic/server-broadcaster","regno":"BCD123"}

“ regno”是我要阅读的标题字段。

有什么方法可以使我的工作不带任何字符串或任何其他建议,因为可以解决该问题。

谢谢。

0 个答案:

没有答案