[英]Spring websocket(stomp, sockjs): Controller didn't get whole data
我正在使用stomp和sockjs更改我的應用程序。
但是以某種方式,我的控制器無法從客戶端獲取我的全部數據。
這是從我的客戶端。
>>> SEND
destination:/app/hello
content-length:57
{"type":"greeting","user":"james","to":"","message":"hi"}�
和我的控制器
@MessageMapping("/hello")
public void greeting(ChatMessage message, SimpMessageHeaderAccessor headerAccessor) throws Exception{
logger.debug(">>>[GREETING]\n{}", message.toString());
messagingTemplate.convertAndSend("/topic", message);
}
ChatMessage
public class ChatMessage {
private String user;
private String to;
private String message;
private String type;
///
@Override
public String toString(){
return String.format("ChatMessage [type=" + getType() + ", username="+ getUsername() +", to=" + getToUser() + ", message=" + getMessage() + "]");
}
}
我的控制器僅收到消息並輸入
我的用戶在哪里?
ChatMessage [type=greeting, username=, to=, message=hi]
有人知道我的代碼會怎樣嗎? 謝謝
最后,我更改了模型ChatMessage
public class ChatMessage {
private Map<String, Object> map = new HashMap<>();
@JsonAnyGetter
public Map<String, Object> any(){
return this.map;
}
public Map<String, Object> getMap() {
return this.map;
}
@JsonAnySetter
public void setMap(String key, Object value) {
map.put(key, value);
}
@Override
public String toString() {
return "Map [map=" + map + "]";
}
}
所以我可能會有不同類型的消息,因為有時我想發送SDP消息並提供描述。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.