Я пытаюсь создать простой чат, используя WebSocket-протокол на SpringBoot-платформе.
Мой контроллер:
@Controller
public class ChatController {
@MessageMapping ("/message")
@SendTo ("/chat/messages")
public Message sendMessage(Message chatMessage) {
System.out.println("chatMessage is " + chatMessage.toString());
return chatMessage;
}
}
WebSocket-конфигурация:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfiguration implements WebSocketMessageBrokerConfigurer {
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/chat");
config.setApplicationDestinationPrefixes("/app");
}
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/chat-messaging").withSockJS();
}
}
на стороне клиента:
function sendMessage() {
console.log("message_input_value is " + $("#message_input_value").val());
stompClient.send("/app/message", {}, JSON.stringify({'message':
$("#message_input_value").val()}));
}
Но когда я пытаюсь отправить сообщение, ничего не отправляется. Итак, в IDEA-журнале я вижу:
chatMessage is Message{message='null', sender='null'}
А в консоли разработчика я вижу, что подписчик получает:
{"sender":null,"content":null}
В чем может быть причина этой проблемы?