Java Spring中的Websocket STOMP(或REST)控制器:捕获反序列化错误?
我有一个Spring Websocket Stomp控制器,用于处理发送消息(类似于): 如果我的IncomingModel能够在幕后正确地进行反序列化,它就可以正常工作 如果不是这样的话,我会收到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
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