1

У меня есть контроллер Spring WebSocket Stomp, который обрабатывает сообщения SEND (аналогично https://spring.io/guides/gs/messaging-stomp-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() без параметров для обработки каких-либо исключений.