1

我有一个春天的WebSocket践踏控制器处理发送消息(类似于https://spring.io/guides/gs/messaging-stomp-websocket/):Spring中的Websocket STOMP(或REST)控制器:捕获反序列化错误?

@MessageMapping("/pong") 
public void handlePong(IncomingModel model) {...} 

它工作正常,如果我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控制器一样。

+0

显示你的JSON? – shazin

+0

这是一个简单的Json,其中字符串发送的地方很长。 –

回答

1

你可以把@MessageExceptionHandler(MessageConversionException.class)注释方法来处理MessageConversionException。或者注释@MessageExceptionHandler()没有参数来处理任何异常。