postman Spring WebSocket控制器不返回任何内容

kupeojn6  于 2024-01-07  发布在  Postman
关注(0)|答案(1)|浏览(378)

我在Spring WebSocket上遇到了一个问题,我可以通过ws://localhost:port/ws成功连接到WebSocket,但我不能通过STOMP命令发送或接收任何东西(我的意思是我可以发送,但我不知道是否发生了什么)
WebSocketConfiguration:

  1. @Configuration
  2. @EnableWebSocketMessageBroker
  3. public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
  4. @Override
  5. public void configureMessageBroker(MessageBrokerRegistry config) {
  6. config.enableSimpleBroker("/topic");
  7. config.setApplicationDestinationPrefixes("/app");
  8. }
  9. @Override
  10. public void registerStompEndpoints(StompEndpointRegistry registry) {
  11. registry.addEndpoint("/ws");
  12. registry.addEndpoint("/ws").withSockJS();
  13. }
  14. }

字符串
主计长:

  1. @Controller
  2. public class SignalingController {
  3. @MessageMapping("/offer/sendOffer")
  4. @SendTo("/topic/offer")
  5. public String sendOffer(String offer){
  6. // Process the offer and send a response
  7. return "Received offer: " + offer;
  8. }
  9. @MessageMapping("/receive/receiveOffer")
  10. @SendTo("/topic/answer")
  11. public String sendAnswer(String answer) {
  12. // Process the answer and send a response
  13. return "Received answer: " + answer;
  14. }
  15. }


我尝试使用Postman测试端点,并发送以下请求:

  1. SEND
  2. destination:/app/offer/sendOffer
  3. content-type:text/plain
  4. Test message!
  5. ^@


我看到它正在发送这个请求,但没有任何东西回来(ACK或其他东西):Postman Websocket sending

klh5stk1

klh5stk11#

TL;DR:Sping Boot 代码很好,但是测试它的方法是错误的。
好吧,经过很多次的尝试,我终于找到了一个方法。
首先,我试图从Android应用程序连接和发送请求,但在此之前,我试图用Postman WebSocket测试端点(我放弃了)。
其次,我尝试在Android上使用OkHTTP 3进行测试,但没有工作(无论出于什么原因,STOMP消息没有被Spring后端解析)。
最后,我遇到了运行完美的org.java_websocket,我刚刚从WebSocketClient.class发送STOMP请求作为文本,Spring终于开始将消息路由到控制器。

相关问题