Не приходят сообщения через SimpMessagingTemplate.convertAndSend

Рейтинг: 0Ответов: 1Опубликовано: 31.05.2023

Мне нужно отправлять POST запрос и потом перенаправлять полученный текст для отправки через сокеты на фронт. Я использую convertAndSend, но сообщения не доходят

Мой класс:

@RestController
public class TestController {

    @Autowired
    SimpMessagingTemplate template;

    @RequestMapping(value = "/match/{id}", method = RequestMethod.POST)
    public void test(@RequestBody String input, @PathVariable("id") String id){
        template.convertAndSend("/topic/message", new ErrorDTO(id));
    }

    @SendTo("/topic/message")
    public void broadcastMessage(@Payload ErrorDTO errorDTO){
        System.out.println(errorDTO);
    }
}

Мой конфиг:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/ws").setAllowedOriginPatterns("*");
    }

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

ErrorDTO:

@AllArgsConstructor
@Data
@Builder
public class ErrorDTO {

    private String message;
}

Ответы

▲ 0

Как выяснилось, я пытался реализовать неправильную логику, так как SimpMessagingTemplate.convertAndSend отправляет данные на клиент, который слушает этот сокет по указанному адресу