AppErrorController.java 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. @RequestMapping("/error")
  12. public String handleError(HttpServletRequest request, Model model) {
  13. Object status = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);
  14. if (status != null) {
  15. int statusCode = Integer.parseInt(status.toString());
  16. if (statusCode == HttpStatus.NOT_FOUND.value()) {
  17. return "commons/404";
  18. } else if (statusCode == HttpStatus.UNAUTHORIZED.value()) {
  19. return "commons/401";
  20. } else if (statusCode == HttpStatus.INTERNAL_SERVER_ERROR.value()) {
  21. return "commons/500";
  22. }
  23. }
  24. return "commons/error";
  25. }
  26. @RequestMapping("/401")
  27. public String error401() {
  28. return "commons/401";
  29. }
  30. @RequestMapping("/404")
  31. public String error404() {
  32. return "commons/404";
  33. }
  34. @RequestMapping("/500")
  35. public String error500() {
  36. return "commons/500";
  37. }
  38. }