簡體   English   中英

Spring Websocket(stomp,sockjs):控制器未獲取全部數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM