Definición de correlacionadores de excepciones para errores y excepciones de recursos
Las aplicaciones JAX-RS (Java™ API for RESTful Web Services) pueden generar excepciones y errores. El comportamiento predeterminado es utilizar la funcionalidad de manejo de excepciones de un contenedor de aplicaciones como las páginas de error JSP (JavaServer Pages). Sin embargo, puede personalizar el manejo de errores y devolver respuestas específicas de seguridad cuando se produce una excepción o un error.
Acerca de esta tarea
Los métodos de recursos JAX-RS, como cualquier método Java, pueden generar excepciones comprobadas y no comprobadas. De forma predeterminada, una excepción o un error en tiempo de ejecución no seleccionado se produce de nuevo en el contenedor. Una excepción seleccionada se incluye en un ServletException para los recursos que se ejecutan en el contenedor web. Por tanto, un desarrollador puede utilizar recursos de manejo de errores como, por ejemplo, páginas de error JSP para manejar excepciones generadas desde una aplicación JAX-RS.
JAX-RS introdujo la excepción javax.ws.rs.WebApplicationException. Un desarrollador puede especificar un nombre de clase de error específico o un objeto javax.ws.rs.core.Response al crear un WebApplicationException. Cuando se genera el WebApplicationException, se utiliza la información que se incluye en la excepción mediante un nombre de clase de estado o un objeto Response para serializar una respuesta.
Si no puede generar la excepción, WebApplicationException, en el código y no puede utilizar los recursos de manejo de errores en el contenedor web, pero desea utilizar una respuesta de error personalizada, puede crear una clase javax.ws.rs.ext.ExceptionMapper JAX-RS personalizada para correlacionar excepciones con respuestas a errores HTTP.
El procedimiento siguiente muestra cómo escribir una clase personalizada ExceptionMapper.
Procedimiento
Resultados
Ha escrito un ExceptionMapper personalizado para manejar excepciones en la aplicación web JAX-RS.