728x90 Spring/spring mvc 2 스터디15 [Spring] API 예외 처리(ExceptionHandler) API 예외 처리 BasicErrorController: HTML 화면을 제공할 경우 사용 - 단순하게 5xx, 4xx 관련된 오류 화면을 보여주면 된다. ExceptionHandler: API Exception 을 다루는데 좋다. @ExceptionHandler 다른 ExcpetionResolver 를 사용하게 되면 불필요 하게 ModelAndView를 반환해야 했다. 또 한 Response 값을 직접 넣어줘야 되는 불편 함이 있었다. ExceptionHandlerExceptionResolver 로 편한하게 예외처리를 할 수 있다 ExceptoinResolver 중에 우선 순위가 제일 높다 ExceptionHandler 예제 @ExceptionHandler(처리할익셉션.class) 이렇게 하면 지정한 .. 2022. 7. 2. [Spring] API 예외 처리(ExceptionResolver) ExceptionResolver 스프링 부트에서 사용하는 Exception Resolver 를 알아보자 ExceptionHandlerExceptionResolver - @ExceptionHandler 를 처리한다. 가장많이 쓴다. ResponseStatusExceptionResolver - @ResponseStatus(value = HttpStatus.NOT_FOUND) DefaultHandlerExceptionResolver - 우선 순위가 가장 낮다. - 스프링 내부 기본 예외를 처리한다. ResponseStatusExceptionResolver 예외에 따라서 HTTP 상태 코드를 지정해줄수 있다. @Response, ResponseStatusException 예외 처리 @ResponseStatus(.. 2022. 7. 2. [Spring] API 예외 처리(HandlerExceptionResolver) API 예외 처리 백엔드 개발자면 API 예외 처리를 가장 많이 다룰 것이다. 보통 JSON 형태로 200, 400, 500 대 상태코드로 응답을 주게 된다. 그럼 어떻게 JSON 으로 응답을 주는지 차근 차근 공부해 보면서 알아본다. API 예외 처리 응답방식 스프링 부트는 BasicErrorController 가 제공하는 기본 정보들을 활용하여 API 를 생성해서 준다. { "timestamp": "2021-04-28T00:00:00.000+00:00", "status": 500, "error": "Internal Server Error", "exception": "java.lang.RuntimeException", "trace": exception 추적 내용, "message": "잘못된 사용자",.. 2022. 6. 26. [Spring] 예외 처리 이론 및 기초 예외 처리 이론 및 기초 웹애플리케이션에서 예외처리를 알아보자. 웹 애플리케이션 웹애플리케이션은 사용자 요청이 오면 별도의 쓰레드로 각각 실행이 된다. 웹애플리케이션에서 예외를 처리하지 못하고 서블릿 밖으로 전달 되면 어떻게 되는지 보자 서블릿에서 예외 처리 방식 및 흐름 서블릿에서 예외가 발생하면 다음과 같은 방식으로 진행이 된다. 1 번: 일반 요청이 들어와 컨트롤러까지간다. 2 번: 익셉션이 터지고 예외로 잡지 않으면 WAS 까지 전달이 된다. 3 번: 해당 에러가 어떤건지 확인하고 에러 페이지를 보여주기 위해 다시 컨트롤러까지 간다. 문제점 불필요한 호출이 발생 한다. 예외가 발생하면 다시 오류페이지를 찾기 위해 인터셉터 서블릿을 거치게 된다. 매우 비효율 적이다. 비효율적인 이유는 이미 처리를 .. 2022. 6. 25. 이전 1 2 3 4 다음 728x90 반응형