小编Gli*_*lav的帖子

如何在 Spring Boot 应用程序中向 STOMP CREATED 消息添加自定义标头?

我正在尝试将自定义标头添加到客户端在第一次连接时收到的 STOMP 'CREATED' 消息中。这是使用 STOMP JavaScript 连接到 WebSocket 的函数:

function connect() {
    socket = new SockJS('/chat');
    stompClient = Stomp.over(socket);
    stompClient.connect('', '', function(frame) {
      whoami = frame.headers['user-name'];
      console.log(frame);
      stompClient.subscribe('/user/queue/messages', function(message) {
          console.log("MESSAGE RECEIVED:");
          console.log(message);

        showMessage(JSON.parse(message.body));
      });
      stompClient.subscribe('/topic/active', function(activeMembers) {
        showActive(activeMembers);
      });
    });
  }
Run Code Online (Sandbox Code Playgroud)

此函数将以下内容打印到浏览器的控制台:

body: ""
command: "CONNECTED"
headers: Object
    heart-beat: "0,0"
    user-name: "someuser"
    version: "1.1"
Run Code Online (Sandbox Code Playgroud)

我想添加自定义标题,因此输出必须如下所示:

body: ""
command: "CONNECTED"
headers: Object
    heart-beat: "0,0"
    user-name: "someuser"
    version: "1.1"
    custom-header: "foo"
Run Code Online (Sandbox Code Playgroud)

我的 Spring Boot 应用程序中有以下 WebSocket 配置。

WebSocketConfig.java

@Configuration
@EnableWebSocketMessageBroker
public …
Run Code Online (Sandbox Code Playgroud)

spring stomp websocket spring-boot spring-websocket

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

spring ×1

spring-boot ×1

spring-websocket ×1

stomp ×1

websocket ×1