Java Spring中的Websocket STOMP(或REST)控制器:捕获反序列化错误?

Java Spring中的Websocket STOMP(或REST)控制器:捕获反序列化错误?,java,spring,spring-mvc,spring-websocket,spring-restcontroller,Java,Spring,Spring Mvc,Spring Websocket,Spring Restcontroller,我有一个Spring Websocket Stomp控制器,用于处理发送消息(类似于): 如果我的IncomingModel能够在幕后正确地进行反序列化,它就可以正常工作 如果不是这样的话,我会收到 2017-02-21 11:24:31.935 ERROR 12536 --- [nboundChannel-3] .WebSocketAnnotationMethodMessageHandler : Unhandled exception from message handler method o

我有一个Spring Websocket Stomp控制器,用于处理发送消息(类似于):

如果我的IncomingModel能够在幕后正确地进行反序列化,它就可以正常工作

如果不是这样的话,我会收到

2017-02-21 11:24:31.935 ERROR 12536 --- [nboundChannel-3] .WebSocketAnnotationMethodMessageHandler :
Unhandled exception from message handler method
org.springframework.messaging.converter.MessageConversionException:
Could not read JSON: Can not deserialize value of type java.lang.Long from String "2017-02-21T09:24:31.917Z": not a valid Long value
如何在代码中捕获并处理此错误?
我想情况与REST控制器相同。

您可以在方法上添加
@MessageExceptionHandler(MessageConversionException.class)
注释来处理
MessageConversionException
。或注释
@MessageExceptionHandler()
不带参数来处理任何异常。

显示您的JSON?这是一个简单的JSON,其中发送的字符串代替了long。上面的内容应该只放在controller类中还是放在ControllerAdvice中?
2017-02-21 11:24:31.935 ERROR 12536 --- [nboundChannel-3] .WebSocketAnnotationMethodMessageHandler :
Unhandled exception from message handler method
org.springframework.messaging.converter.MessageConversionException:
Could not read JSON: Can not deserialize value of type java.lang.Long from String "2017-02-21T09:24:31.917Z": not a valid Long value