Я использую приложение службы REST Spring 5 / Spring boot 2.1.Когда наше приложение выдает исключение, ответ, который клиент получает по умолчанию, представляет собой эту красивую строку JSON:
{
"timestamp": "2019-03-30T18:18:27Z",
"status": 500,
"error": "Internal Server Error",
"message": "No message available",
"path": "/api/test/"
}
Мне было интересно, какая часть Spring (или базовый Tomcat) отвечает за создание этого сообщения jsonи когда это происходит?Я уже проверил разные HandlerExceptionResolvers (как описано здесь ) и не вижу его (исходный код одного из них здесь ).
Я также реализовал веб-фильтр в приложении и при считывании тела ответа (используя ConcentCachedResponseWrapper, чтобы предотвратить типичную проблему чтения потоков только один раз, когда здесь описывается ), тело ответавсегда пусто.
Так что мне кажется, что этот json создается и устанавливается в ответ ПОСЛЕ обработки обработчиков исключений и ПОСЛЕ того, как сработали фильтры (или, по крайней мере, мой собственный фильтр, которого я не делал)Не указывайте специальный заказ для).