exception 2

API 예외 처리

HTML 페이지의 경우에는 4xx, 5xx.html과 같은 오류 페이지만 있으면 대부분의 문제를 해결할 수 있지만, API의 경우에는 각 오류 상황에 맞는 오류 응답 스펙을 정하고, JSON으로 데이터를 내려주어야한다. 어떻게 이를 처리할 수 있을까? 먼저 처음으로 돌아가 Servlet 오류 페이지 방식을 사용해보자. api를 처리하는 컨트롤러를 만들고 내부에 static 클래스로 memberDto를 만들어 진행하겠다.(실제 작업시에는 별도로 생성해야함) @RestController이기 때문에 id가 ex가 아니라면 json형식으로 응답이 반환될 것이고 ex라면 RuntimeException이 발생해 오류 페이지를 내부적으로 호출해 반환될 것이다. 먼저 정상 요청이다. 다음으로 런타임에러를 발생시켜본다...

Spring/Spring MVC 2021.07.28

예외 처리, 오류 페이지

Servlet 예외 처리 최종적으로 알고 싶은 것은 스프링의 예외처리이지만, 서블릿 컨테이너위에서 스프링이 돌아가기 때문에 서블릿이 어떻게 예외처리를 하는지부터 알고가자. 스프링이 아닌 순수 Servlet 컨테이너는 예외를 어떻게 처리할까?? Serlet은 2가지 방식으로 예외 처리를 지원한다. - Exception(예외) - response.sendError(HTTP 상태 코드, 오류 메시지) 🔧 Exception 자바의 메인 메서드를 직접 실행하는 경우 main이라는 이름의 쓰레드가 실행되는데, 이 때 예외를 catch하지 못하고 main메서드를 넘어 예외가 throw되면 예외 정보를 남기고 해당 쓰레드는 종료된다. 웹 애플리케이션은 사용자 요청 별로 쓰레드가 할당되고, Servlet 컨테이너 안에서..

Spring/Spring MVC 2021.07.24
반응형