У меня есть приложение Jersey с весенней загрузкой, я обновил его с Spring Boot 1.5.4
(платформа: Brussels-SR3) до Boot 2.0.1
(платформа: Cairo-RELEASE), которое принесло версию Jersey с 2.25.1
до 2.26
.
Перед обновлением, когда приложение выдало необработанную ошибку, приложение вернуло бы ответ, подобный следующему:
{
"timestamp": 1524060527236, "status": 500, "error": "Internal Server Error",
"exception": "java.lang.IllegalStateException", "message": "<example message>",
"path": "/ws/api/example/endpoint"
}
после обновления возвращается то же выполнение:
{
"timestamp": "2018-04-24T17:00:06.151+0000", "status": 500, "error": "Internal Server Error",
"message": "<example message>", "path": "/ws/api/example/endpoint"
}
Я могу работать с другим форматом отметки времени, но потеря класса исключений является проблемой.
Я пытался отладить сопоставление исключений в джерси, но я не знаком с кодомбаза и кажется довольно сложной.Я не мог найти, где происходит сопоставление.Я также не смог найти упоминаний в документах или примечаниях к выпуску об изменении сопоставления исключений.
Исходя из вышеизложенного и комментариев ниже, я полагаю, это изменение относится к Spring.
Итак,что изменилось и как вернуть старое поведение?