带有 websocket 和邮递员的 Spring Boot

问题描述 投票:0回答:2

我已经根据教程

创建了测试项目
@Configuration
@EnableWebSocketMessageBroker
public class WSConfig implements WebSocketMessageBrokerConfigurer {

    @Override
    public void configureMessageBroker(MessageBrokerRegistry config) {
        config.enableSimpleBroker("/topic");
        config.setApplicationDestinationPrefixes("/app");
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/chat");
        registry.addEndpoint("/chat").withSockJS();
    }

@Controller
public class WSController {

    @MessageMapping("/chat")
    @SendTo("/topic/messages")
    public String send(String message) throws Exception {
        return "test";
    }
}

我正在努力与邮递员联系,我尝试了不同的网址:

  • ws://localhost:8080

  • ws://localhost:8080/app

  • ws://localhost:8080/app/chat

每次单击连接按钮时,我都会收到 404 作为响应 我究竟做错了什么? (我是 websocket 新手)

spring-boot postman spring-websocket
2个回答
6
投票

按照

https://blog.postman.com/postman-supports-websocket-apis/
上的说明操作后,我能够连接到 ws://localhost:8080/chat

端点

enter image description here

注意:我还查看了https://spring.io/guides/gs/messaging-stomp-websocket/,了解有关设置 SpringBoot WebSocket 项目的更多信息。


0
投票

由于我正在努力解决同样的问题,并且这是我找到的最匹配的互联网帖子,我可以确认连接到

ws://localhost:8080/chat
应该使用邮递员成功建立 Websocket 连接。

但是现在又出现了像@prachit-roarane 在评论中提到的同样的问题。从原始帖子的代码中我们还想:

  • 发送消息(客户端 -> 服务器)到
    /app/chat
  • /topic/messages
  • 接收/订阅消息(服务器 -> 客户端)

你能使用邮递员实现这一点吗?

尝试使用 postman 连接到以下 URL 仍返回 404:

  • ws://localhost:8080/app/chat
  • ws://localhost:8080/topic/messages

使用邮递员发送消息功能并在

ws://localhost:8080/chat
成功建立连接不会调用

@MessageMapping("/chat")
@SendTo("/topic/messages")
public String send(String message) throws Exception {
    return "test";
}

我正在使用这个教程,它使用与原始帖子几乎相同的后端代码,但实现了一个带有 Angular 的工作 websocket 客户端,我们希望在这里用邮递员替换它。

© www.soinside.com 2019 - 2024. All rights reserved.