자원 예외 및 오류에 대한 예외 맵퍼 정의
JAX-RS(Java™ API for RESTful Web Services) 애플리케이션은 예외 및 오류를 생성할 수 있습니다. 기본 동작은 JSP(JavaServer Pages) 오류 페이지와 같이 애플리케이션 컨테이너의 예외 처리 기능을 사용하는 것입니다. 그러나 예외 또는 오류가 발생한 경우 오류 처리를 사용자 정의하고 특정 응답을 다시 전송할 수 있습니다.
이 태스크 정보
Java 메소드와 같이 JAX-RS 자원 메소드는 확인된 예외 및 확인되지 않은 예외를 처리할 수 있습니다. 기본적으로 확인되지 않은 런타임 예외 또는 오류는 컨테이너에서 다시 발생합니다. 확인된 예외는 웹 컨테이너에서 실행 중인 자원에 대해 ServletException에 랩핑됩니다. 따라서 개발자는 JSP 오류 페이지와 같은 오류 처리 기능을 사용하여 JAX-RS 애플리케이션에서 발생한 예외를 처리할 수 있습니다.
JAX-RS에는 예외, javax.ws.rs.WebApplicationException이 도입되었습니다. 개발자는 WebApplicationException 작성 시 특정 오류 클래스 이름 또는 javax.ws.rs.core.Response 오브젝트를 지정할 수 있습니다. WebApplicationException이 발생하면 상태 클래스 이름 또는 응답 오브젝트 방식으로 예외에 포함된 정보를 사용하여 응답을 직렬화합니다.
코드에서 예외, WebApplicationException을 처리할 수 없고 웹 컨테이너에서 오류 처리 기능을 사용할 수 없지만 사용자 정의 오류 응답을 사용하려는 경우 사용자 정의된 JAX-RS javax.ws.rs.ext.ExceptionMapper 클래스를 작성하여 HTTP 오류 응답에 예외를 맵핑할 수 있습니다.
다음 프로시저는 사용자 정의 ExceptionMapper 클래스를 작성하는 방법을 보여줍니다.
프로시저
결과
JAX-RS 웹 애플리케이션에서 예외를 처리하도록 사용자 정의 ExceptionMapper를 작성했습니다.