如何转换Message Websocket MessageConversionException?

时间:2018-11-03 20:21:46

标签: java websocket

我必须在简单的WebSocketController中处理一条消息。

我可以发送String,但是为了做进一步的工作,我需要消息。

@MessageMapping("/hello")
public void handleChat(Message message){
   // TODO
}

错误。 json类型不是必需的。

  

错误982 --- [nboundChannel-2]   .WebSocketAnnotationMethodMessageHandler:来自未处理的异常   消息处理程序方法

     

org.springframework.messaging.converter.MessageConversionException:   无法读取JSON:无法构造的实例   org.springframework.amqp.core.Message(没有创建者,例如默认   构造,存在):无法从对象值反序列化(没有委托-   或基于资源的创作者)

     

at [Source:(byte [])“ {{username”:“ help”}“;   行:1,列:2];嵌套异常为   com.fasterxml.jackson.databind.exc.InvalidDefinitionException:无法   构造org.springframework.amqp.core.Message的实例(否   像默认构造一样,创建者也存在):无法反序列化   对象值(无基于委托或属性的创建者)
  在[来源:   (byte [])“ {” username“:” help“}”;行:1,列:2]

我该怎么做才能解决该问题?

编辑1

我可以这样创建消息

@MessageMapping("/hello")
public void handleChat(String message){
   Message test = new Message(message.getBytes("UTF-8"), new MessageProperties());
// TODO
}

但是无论如何,我想知道如何正确地做。谢谢。

0 个答案:

没有答案