logo

Spring Boot – Personnaliser la page d’erreur en marque blanche

Dans l'écosystème Spring Boot, lorsqu'il n'y a pas de page d'erreur personnalisée pour gérer une erreur spécifique, Spring Boot gère par défaut l'erreur à l'aide du Page d'erreur en marque blanche.

Page d'erreur_étiquette blanche



Il s'agit de la page d'erreur Whitelabel par défaut. Nous pouvons également personnaliser cette page d’erreur en marque blanche. Dans cet article, discutons de quelques approches pour personnaliser cette page d'erreur en marque blanche.

Note: Nous pouvons désactiver la page d'erreur Whitelabel en définissant la propriété server.error.whitelabel.enabled sur false.
server.error.whitelabel.enabled=false

Configuration de l'IDE pour le projet

Configurons notre IDE en créant le projet Spring Boot. Pour créer un projet Spring Boot, accédez au Menu Fichier > Nouveau > Autres > Projet de démarrage du printemps



springboot_starter_project_creation

quand le premier ordinateur a-t-il été inventé

Configurez le projet selon vos besoins.

Note: Ici, Java version 8, outil de gestion de build Maven et Eclipse IDE utilisés pour les développeurs Java et Web 2023-06



spring_starter_project_window

Nous pouvons également ajouter les dépendances suivantes en un clic lors de la configuration du projet.

Dépendances requises

Spring Boot DevTools Thymeleaf Spring Web Services>

Et une fois que vous avez ajouté ces dépendances, cliquez sur ' finition ‘ le projet sera créé.

add_dependencies_in_spring_starter_project

Configuration du projet pour l'application

Étape 1 : Ajout de dépendances

Une fois le projet créé, configurons notre fichier pom.xml (Si vous utilisez Maven) en ajoutant les dépendances requises.

spring-boot-starter-web-services : Pour gérer les méthodes HTTP et les points de terminaison

  org.springframework.boot  spring-boot-starter-web-services>

spring-boot-starter-thymeleaf : Thymeleaf est un moteur de modèles et donne un format plus structuré pour les modèles.

  org.springframework.boot  spring-boot-starter-thymeleaf>

spring-boot-devtools : Il s'agit d'une dépendance facultative mais qui fournit de nombreux outils et fonctionnalités de développement pour créer des applications.

  org.springframework.boot  spring-boot-devtools  runtime  true>

Étape 2 : Création des ressources

Une fois le fichier pom.xml configuré, créons les ressources.

  • Accédez au ` src/main/ressources `dans la structure du projet. À l'intérieur, créez un dossier nommé ` modèles ` pour stocker les modèles HTML. Maintenant, créez une page d'erreur personnalisée avec un ` .html `rallonge. Par exemple, j'ai nommé le modèle HTML comme suit :  page_erreur `.html.

package_explorer

  • Maintenant, écrivez votre logique personnalisée avec laquelle vous souhaitez remplacer la page d'erreur en marque blanche par défaut.

page_erreur.html :

HTML




> <>html>>> <>head>>> ><>title>>Titre d'erreur> tête>

Page d'erreur personnalisée h1>

Quelque chose s'est mal passé. Veuillez réessayer plus tard.p> body> html>>

>

>

Étape 3 : remplacement des propriétés par défaut

  • Par défaut, Spring Boot utilise le ` application.propriétés ' ou ' application.yml ` fichier pour définir les propriétés d'une application. Pour remplacer tout comportement par défaut de l'application Spring Boot, nous pouvons ajouter et configurer les propriétés de ces fichiers en fonction de votre outil de gestion de build. Par défaut, Spring Boot utilise la page d'erreur Whitelabel. Pour remplacer ce comportement, configurons certaines propriétés.
  • Copiez et collez les propriétés suivantes dans le fichier ` application.propriétés ` (si vous utilisez Maven)

//Cette propriété est utilisée pour indiquer le chemin de notre template
spring.mvc.view.prefix=/templates/

nbsp

//Cette propriété est utilisée pour indiquer l'extension ou le type des modèles
spring.mvc.view.suffix=.html

//Cette propriété définie sur false indique que nous ne souhaitons pas utiliser la page d'erreur en marque blanche par défaut server.error.whitelabel.enabled=false

//Cette propriété est utilisée pour spécifier le chemin de notre page d'erreur
server.error.path=/erreur

Étape 4 : Création de la classe Controller

Créons la classe Controller de notre projet. Pour ce faire, accédez au package par défaut de notre projet. Créez un sous-package nommé ` manette ` et à l’intérieur du package du contrôleur, créez la classe du contrôleur. Par exemple, j'ai nommé la classe du contrôleur comme ` ControllerClass.java `.

Java




package> com.example.demo.controller;> > import> org.springframework.boot.web.servlet.error.ErrorController;> import> org.springframework.stereotype.Controller;> import> org.springframework.web.bind.annotation.GetMapping;> > @Controller> public> class> ControllerClass>implements> ErrorController {> > >@GetMapping>(>'/error'>)> >public> String handleError() {> >return> 'error_page'>;> >}> > }>

>

>

Explication pour la création de la classe contrôleur :

Dans le code ci-dessus, notre ControllerClass implémente le ` Contrôleur d'erreur ` pour afficher les erreurs. Dans la classe, nous avons défini un ` handleErreur ` méthode annotée avec ` @GetMapping ` spécifié avec le point de terminaison ` /erreur ` et renvoyer le modèle ` page_erreur `.

Structure du projet

Assurez-vous que votre projet se trouve dans la structure de projet suivante.

structure_projet

Étapes pour exécuter l'application

Pour exécuter l'application, faites un clic droit sur le projet > Courir comme > Application Spring Boot.

springboot_application_run

Résultat de la page d'erreur personnalisée :

Essayez de donner n'importe quel chemin qui n'est pas géré dans la classe du contrôleur. Il affichera la page d'erreur personnalisée.

page_erreur_personnalisée