문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
springframework:mvc:handlerexceptionresolver [2018/02/14 08:32] kwon37xi |
springframework:mvc:handlerexceptionresolver [2021/07/14 12:49] (현재) kwon37xi |
||
|---|---|---|---|
| 줄 3: | 줄 3: | ||
| * Spring MVC의 예외 처리를 담당한다. | * Spring MVC의 예외 처리를 담당한다. | ||
| * [[http:// | * [[http:// | ||
| + | * [[springframework: | ||
| + | * [[springframework: | ||
| ===== 기본 확장 ===== | ===== 기본 확장 ===== | ||
| 줄 8: | 줄 10: | ||
| * 이때 '' | * 이때 '' | ||
| - | ===== @ControllerAdvice ===== | ||
| - | * '' | ||
| - | * [[http:// | ||
| - | <code java> | ||
| - | package javabeat.net; | ||
| - | |||
| - | import java.io.IOException; | ||
| - | import java.sql.SQLException; | ||
| - | |||
| - | import org.springframework.web.bind.annotation.ControllerAdvice; | ||
| - | import org.springframework.web.bind.annotation.ExceptionHandler; | ||
| - | import org.springframework.web.servlet.ModelAndView; | ||
| - | import org.springframework.web.servlet.config.annotation.EnableWebMvc; | ||
| - | |||
| - | @ControllerAdvice | ||
| - | public class ControllerAdviceTest { | ||
| - | @ExceptionHandler(IOException.class) | ||
| - | public ModelAndView handleIOException(IOException exception){ | ||
| - | ModelAndView andView = new ModelAndView(); | ||
| - | andView.setViewName(" | ||
| - | return andView; | ||
| - | } | ||
| - | @ExceptionHandler(SQLException.class) | ||
| - | public ModelAndView handleSQLException(SQLException exception){ | ||
| - | ModelAndView andView = new ModelAndView(); | ||
| - | andView.setViewName(" | ||
| - | return andView; | ||
| - | } | ||
| - | // JSON 에러 내면서 Http Status Code 변경 | ||
| - | @ExceptionHandler(Exception.class) | ||
| - | @ResponseBody | ||
| - | public ResponseEntity< | ||
| - | // org.springframework.http.HttpStatus 를 참조할 것. | ||
| - | HttpStatus httpStatus = HttpStatus.INTERNAL_SERVER_ERROR; | ||
| - | SomeErrorObject errorObject = new SomeErrorObject(); | ||
| - | |||
| - | return new ResponseEntity<> | ||
| - | } | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ===== 주요 Spring MVC Exception에 대해 오버라이드 하지 말 것 ===== | ||
| - | * '' | ||
| - | * [[https:// | ||
| - | * 주요 Exception들에 대해 올바른 응답 코드가 내려가도록 처리한다. | ||
| - | * [[https:// | ||
| ===== 참조 ===== | ===== 참조 ===== | ||
| * [[http:// | * [[http:// | ||