Définition des associateurs d'exception pour les erreurs et exceptions de ressources
Les applications Java™ API for RESTful Web Services (JAX-RS) peuvent produire des exceptions et erreurs. Le comportement par défaut est d'utiliser la fonctionnalité de gestion des exceptions du conteneur de l'application comme les pages d'erreurs JavaServer Pages (JSP). Toutefois, vous pouvez personnaliser la gestion des erreurs et envoyer les réponses spécifiques en cas d'exception ou d'erreur.
Pourquoi et quand exécuter cette tâche
Les méthodes de ressources JAX-RS, comme toute méthode Java, peuvent renvoyer des exceptions vérifiées ou non. Par défaut, une erreur ou exception d'exécution non vérifiée se produit à nouveau dans le conteneur. Une exception vérifiée est encapsulée dans une ServletException pour les ressources s'exécutant dans le conteneur Web. Par conséquent, un développeur peut utiliser les fonctions de gestion des erreurs telles que les pages d'erreur JSP pour gérer les exceptions d'une application JAX-RS.
JAX-RS a introduit l'exception, javax.ws.rs.WebApplicationException. Un développeur peut spécifier un nom de classe d'erreur spécifique ou l'objet javax.ws.rs.core.Response lors de la création d'une WebApplicationException. Lorsque la WebApplicationException survient, les informations incluses dans l'exception par un nom de classe de statut ou objet de réponse sont utilisées pour sérialiser une réponse.
Si vous ne pouvez pas émettre l'exception, WebApplicationException, dans votre code et si vous ne pouvez pas utiliser les fonctions de gestion des erreurs dans le conteneur Web, mais que vous souhaitez utiliser une réponse d'erreur personnalisée, vous pouvez créer une classe javax.ws.rs.ext.ExceptionMapper JAX-RS personnalisée pour mapper les exceptions sur les réponses d'erreur HTTP.
La procédure suivante illustre comment écrire une classe ExceptionMapper personnalisée.
Procédure
Résultats
Vous avez écrit un ExceptionMapper personnalisé pour gérer les exceptions dans votre application Web JAX-RS.