Magazine Gadgets

Comment créer des pages d’erreur Spring Boot personnalisées avec Thymeleaf

Publié le 04 septembre 2023 par Mycamer

Le logiciel rencontre des erreurs. Même les meilleures applications rencontreront des erreurs à un moment donné. Par conséquent, chaque application doit disposer de mécanismes de gestion des erreurs.

Spring Boot fournit une page d’erreur Whitelabel par défaut en tant que composant de sa configuration automatique pour la gestion des erreurs. Néanmoins, on s’attend à ce que les développeurs créent une page d’erreur personnalisée qui remplace la page d’erreur Whitelabel. Dans cet article, vous apprendrez comment personnaliser la page d’erreur de vos applications Spring Boot.

Page d’erreur en marque blanche de Spring Boot

Lorsqu’une application Spring Boot rencontre une erreur, elle demande le /erreur URL. S’il n’y a aucune vue à cet emplacement, la page d’erreur Whitelabel s’affiche :

Page d'erreur en marque blanche

La page d’erreur en marque blanche indique la date et l’heure de l’erreur, ainsi que le fuseau horaire correspondant. De plus, il indique le type d’erreur et son code associé. La page Whitelabel indique que c’est une erreur 404 (Page non trouvée). Cela est dû au fait que l’exemple d’application n’a pas de mappage pour l’URL « /products ».

La plupart des informations présentées sur la page d’erreur Whitelabel proviennent d’attributs d’erreur spécifiques. La vue des erreurs de Spring Boot a accès aux attributs d’erreur suivants :

  • erreur: la raison de l’erreur.
  • horodatage: la date et l’heure auxquelles l’erreur se produit.
  • statut: le code d’état d’erreur.
  • exception: le nom de classe de l’exception racine (si l’erreur est le résultat d’une exception).
  • message: le message d’exception (si l’erreur est le résultat d’une exception).
  • les erreurs: tout résultat d’une exception BindingResult (si l’erreur est le résultat d’une exception).
  • tracer: la trace de la pile des exceptions (si l’erreur est le résultat d’une exception).
  • chemin: le chemin de l’URL où l’erreur se produit.

Créer une page d’erreur avec Thymeleaf

Votre application Spring Boot doit avoir une seule page d’erreur stockée dans un modèle « d’erreur ». L’extension de ce modèle variera en fonction de la technologie de modèle que vous décidez d’utiliser. Par exemple, si vous optez pour un modèle Java Server Pages (JSP), le nom du fichier doit être erreur.jsp.

Cependant, cet exemple d’application Spring Boot utilise le moteur de template Thymeleaf. Le nom du modèle est donc erreur.html. Vous devez systématiquement placer votre modèle d’erreur dans le modèle dossier, sous le ressources répertoire avec tous vos autres fichiers modèles.

Le fichier error.html

 <!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
 <head>
  <title> Error</title>
  <link rel="stylesheet" th:href="@{/css/style.css}"/>
 </head>
 <body th:style="'background: url(/images/background1.jpg)
 no-repeat center center fixed;'">
  <div class="container" >
  <h1>An error has occurred...</h1>
  <img th:src="@{/images/error-icon.png}"
  width="100px" height="100px" />
  <p>There seems to be a problem with the page you requested
  (<span th:text="${path}"></span>).</p>
  <p th:text="${'The status code is ' + status
  + ', which means that the page was ' + error + '.'}"></p>
  <p th:text="${'Further details: ' + message + '.'}"></p>
  <a class="btn" href="/home">Back to home</a>
  </div>
 </body>
</html>

La page d’erreur personnalisée accomplit plusieurs tâches importantes. Il déclare l’apparition d’une erreur. Par la suite, il met en valeur la requête HTTP qui a déclenché l’erreur. De plus, il fournit à l’utilisateur le code d’état associé à l’erreur. Mais si l’utilisateur n’est pas familier avec les codes d’état, la page explique également la signification du code via l’attribut d’erreur.

La dernière ligne de texte présente à l’utilisateur un message en cas d’exception. Ensuite, le lien à la fin permet à l’utilisateur de revenir à la page d’accueil. Le erreur.html Le fichier utilise une feuille de style CSS et deux images pour créer la vue suivante :

Page d'erreur personnalisée

Gardez votre page d’erreur conviviale

L’objectif principal de la page d’erreur est d’informer l’utilisateur qu’une erreur spécifique s’est produite. Cependant, cette page d’erreur reste un aspect de l’application. Par conséquent, il est crucial de garantir que la page d’erreur est également conviviale.

Cela signifiera choisir d’utiliser les attributs d’erreur qui communiquent l’erreur de manière plus simple. Ainsi, vous pouvez choisir d’utiliser l’attribut path au lieu de l’attribut trace, qui est beaucoup plus complexe et contient des détails que l’utilisateur n’a pas besoin de connaître.

Vous ne souhaitez pas non plus fournir à un utilisateur aléatoire des informations excessives sur le fonctionnement interne de votre application, car cela pourrait compromettre la sécurité de l’application.

to www.makeuseof.com


Abonnez-vous à notre page Facebook: https://www.facebook.com/mycamer.net
Pour recevoir l’actualité sur vos téléphones à partir de l’application Telegram cliquez ici: https://t.me/+KMdLTc0qS6ZkMGI0
Nous ecrire par Whatsapp : Whatsapp +44 7476844931



Retour à La Une de Logo Paperblog

A propos de l’auteur


Mycamer Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Magazines