如何在Postman中消费Spring Boot WebSocket STOMP API端点?
Postman 连接 SpringBoot STOMP WebSocket 端点的具体操作步骤
1. 建立基础 WebSocket 连接
- 打开 Postman,新建 WebSocket Request
- 输入你的 SpringBoot STOMP 握手地址(比如
ws://localhost:8080/ws,替换成你项目中实际配置的握手端点) - 在 Headers 面板添加以下请求头:
Sec-WebSocket-Protocol:v10.stompOrigin:http://localhost:3000(替换成你的前端域名,模拟浏览器请求环境)
- 点击 Connect,确认页面顶部连接状态显示为「Connected」
2. 发送 STOMP 协议握手帧(核心步骤)
WebSocket 连接成功后,必须先完成 STOMP 协议层面的握手,才能访问业务端点:
- 在消息输入框选择 Raw 格式,输入以下内容:
CONNECT accept-version:1.0,1.1,2.0 heart-beat:10000,10000 ^@
注意:最后一行必须是单独换行 + ASCII 空字符(
^@),这是 STOMP 协议要求的帧结束符。Postman 中输入^@的方式:Windows 按Ctrl+Shift+2,Mac 按Cmd+Shift+2,或直接复制上述内容。
- 点击 Send,成功后会收到服务器返回的
CONNECTED响应帧。
3. 访问 app/test 端点
发送消息到端点
如果是向/app/test发送请求,输入以下 STOMP 帧:
SEND destination:/app/test content-type:text/plain 你的业务消息内容 ^@
替换「你的业务消息内容」为实际数据,末尾必须保留
^@结束符。
订阅端点关联的主题
如果/app/test处理后会转发消息到某个主题(比如/topic/test),先订阅该主题:
SUBSCRIBE id:sub-1 destination:/topic/test ^@
id可自定义(只要唯一即可),destination替换成你项目中实际的主题地址。
4. 常见问题排查
- 检查 SpringBoot 配置:确认
@MessageMapping("/app/test")的路径无额外前缀,与请求的destination完全匹配 - 调整 STOMP 版本:如果服务器仅支持特定版本,修改
CONNECT帧中的accept-version值(比如只写1.1) - 查看 Postman 控制台:点击左下角「Console」,检查帧发送/接收的错误提示(如格式错误、权限拦截)
- 跨域验证:如果项目开启了跨域配置,确保
Origin头在允许的域名列表内
内容的提问来源于stack exchange,提问作者Priya
相关产品推荐
相关产品推荐

