AppErrorController.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.izouma.nineth.web;
  2. import org.springframework.boot.web.servlet.error.ErrorController;
  3. import org.springframework.http.HttpStatus;
  4. import org.springframework.stereotype.Controller;
  5. import org.springframework.ui.Model;
  6. import org.springframework.web.bind.annotation.RequestMapping;
  7. import javax.servlet.RequestDispatcher;
  8. import javax.servlet.http.HttpServletRequest;
  9. @Controller
  10. public class AppErrorController implements ErrorController {
  11. @Override
  12. public String getErrorPath() {
  13. return "/error";
  14. }
  15. @RequestMapping("/error")
  16. public String handleError(HttpServletRequest request, Model model) {
  17. Object status = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);
  18. if (status != null) {
  19. int statusCode = Integer.parseInt(status.toString());
  20. if (statusCode == HttpStatus.NOT_FOUND.value()) {
  21. return "commons/404";
  22. } else if (statusCode == HttpStatus.UNAUTHORIZED.value()) {
  23. return "commons/401";
  24. } else if (statusCode == HttpStatus.INTERNAL_SERVER_ERROR.value()) {
  25. return "commons/500";
  26. }
  27. }
  28. return "commons/error";
  29. }
  30. @RequestMapping("/401")
  31. public String error401() {
  32. return "commons/401";
  33. }
  34. @RequestMapping("/404")
  35. public String error404() {
  36. return "commons/404";
  37. }
  38. @RequestMapping("/500")
  39. public String error500() {
  40. return "commons/500";
  41. }
  42. }