/
ilyaBu
/
WebSpringJava
Обзор
Документация
Войти
/
ilyaBu
/
WebSpringJava
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/ru/gb/spring/diplomawebjavaspringgb/controller/DefaultErrorController.java
48 строк
2 KB
IliaBu
Update code
06 июл 2024, 12:57
06 июл 2024, 12:57
931a4dd
Код
Авторство
О чём код?
package ru.gb.spring.diplomawebjavaspringgb.controller; import jakarta.servlet.RequestDispatcher; import jakarta.servlet.http.HttpServletRequest; import org.springframework.boot.web.servlet.error.ErrorController; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestMapping; /** * Класс контроллера обработки ошибок по умолчанию */ @Controller public class DefaultErrorController implements ErrorController { /** * Функция обработки ошибки * * @param model модель * @param request запрос * @return текст ошибки */ @RequestMapping("/error") public String handleError(Model model, HttpServletRequest request) { String errorMessage = getErrorMessage(request); if (errorMessage.startsWith("[access_denied]")) { model.addAttribute("errorTitle", "Доступ запрещен"); model.addAttribute("errorMessage", "Вы запретили доступ."); } else { model.addAttribute("errorTitle", "Ошибка"); model.addAttribute("errorMessage", errorMessage); } model.addAttribute("title", "Ошибка"); return "error"; } /** * Функция получения сообщения об ошибке * @param request запрос * @return текст ошибки */ private String getErrorMessage(HttpServletRequest request) { String errorMessage = (String) request.getAttribute(RequestDispatcher.ERROR_MESSAGE); return StringUtils.hasText(errorMessage) ? errorMessage : ""; } }