Spring Boot集成WebSocket使用Postman连接返回404错误如何解决
问题原因及解决方案
- 核心错误:连接地址不符合配置
你在registerStompEndpoints方法中注册的WebSocket握手端点是/chat,该路径是独立的握手路径,和setApplicationDestinationPrefixes配置的/app前缀没有关联:/app是后续发送STOMP消息时的目的地前缀,不是连接地址的组成部分。你之前尝试的三个地址均没有匹配到注册的端点,因此返回404,正确的原生WebSocket连接地址为ws://localhost:8080/chat。 - Postman连接类型适配
如果你使用Postman的普通WebSocket功能,直接填入上述地址即可连接;如果需要使用SockJS兼容模式,不能使用普通WebSocket连接选项,需要选择对应SockJS连接类型,使用地址http://localhost:8080/chat。 - 代码语法检查
你贴出的配置代码中WSConfig类缺少闭合的},如果实际代码存在该问题,会导致项目启动失败,请先确认项目正常启动、8080端口未被其他程序占用。
连接成功后的STOMP交互参考:
- 连接建立后先发送STOMP CONNECT帧完成协议握手
- 发送业务消息时目的地填
/app/chat,对应@MessageMapping的配置- 订阅
/topic/messages即可接收服务端返回的响应消息
内容的提问来源于stack exchange,提问作者rsobies
相关产品推荐
相关产品推荐

