Ошибки рендеринга шаблона Freemarker при весенней загрузке возвращаются 200 OK - PullRequest
0 голосов
/ 07 мая 2018

Я хочу, чтобы ошибки шаблона Freemarker отвечали со статусом 500 и таким образом заставляли Spring отображать мою страницу ошибок по умолчанию для внутренних ошибок сервера. Однако, как бы я ни пытался настроить Freemaker template_exception_handler, ответ никогда не бывает 500.

Метод обработчика исключений по умолчанию - DEBUG, который выдает сообщение / трассировку стека в шаблоне с ошибками, в то время как остальная часть шаблона (до ошибки) отображается.

Установка обработчика на RETHROW скрывает сообщение / трассировку стека, но приводит к частичной визуализации шаблонов.

Установка обработчика на IGNORE отображает шаблон в полях полного пропуска, которые не могут быть проанализированы.

Все вышеперечисленное выдает исключение, которое видно на сервере. Отладка пружин BasicErrorController исключение обработано - но ответ от BasicErrorController по-прежнему имеет статус 200.

Я попытался реализовать свой собственный ErrorHandlingController, который в основном просто сопоставляется с /error и отображает ModelAndView с установленным статусом 500. Тем не менее, ответ равен 200, и шаблон отображается.

Согласно этому ответу решение состоит в том, чтобы установить конфигурацию обработчика исключений шаблона на RETRHOW - но, как упоминалось выше, это не обеспечивает ожидаемый результат.

Сейчас я снимаю пробелы и не знаю, что еще попробовать. Есть предложения?

Желаемый результат : При генерировании рендеринга TemplateException Spring должен ответить с внутренней ошибкой сервера HTTP code code 500 и отобразить страницу с моей ошибкой для этого. (Который, кстати, работает для любых других типов исключений, возникающих в бэкэнде ...)

Spring boot version: 2.0.1.RELEASE
Весенняя версия: 5.0.5. РЕЛИЗ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...