Spring Boot – Tilpas Whitelabel-fejlside

Spring Boot – Tilpas Whitelabel-fejlside

I Spring Boot-økosystemet, når der ikke er nogen tilpasset fejlside til at håndtere en specifik fejl, håndterer Spring Boot som standard fejlen ved hjælp af Whitelabel fejlside.

Whitelabel_Error_Page

Dette er standard Whitelabel-fejlsiden. Vi kan også tilpasse denne whitelabel-fejlside. Lad os i denne artikel diskutere nogle metoder til at tilpasse denne Whitelabel-fejlside.

Bemærk: Vi kan deaktivere Whitelabel Error Page ved at indstille server.error.whitelabel.enabled egenskaben til false.
server.error.whitelabel.enabled=falsk

IDE-opsætning for projektet

Lad os opsætte vores IDE ved at oprette Spring Boot-projektet. For at oprette et Spring Boot-projekt skal du navigere til Fil menu > Ny > Andre > Forårsstartprojekt

springboot_starter_project_creation

Konfigurer projektet efter dine krav.

Bemærk: Her, Java version 8, Maven build management tool og Eclipse IDE brugt til Java og webudviklere 2023-06

spring_starter_project_window

Vi kan også tilføje følgende afhængigheder inden for et klik, mens vi opsætter projektet.

Nødvendige afhængigheder

Spring Boot DevTools Thymeleaf Spring Web Services 

Og når du har tilføjet disse afhængigheder, skal du klikke på ' Afslut 'projektet bliver oprettet.

adding_dependencies_in_spring_starter_project

Projektopsætning for applikationen

Trin 1: Tilføjelse af afhængigheder

Når projektet er oprettet, lad os konfigurere vores pom.xml-fil (hvis du bruger Maven) ved at tilføje de nødvendige afhængigheder.

spring-boot-starter-web-tjenester : At håndtere HTTP-metoder og slutpunkter

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

spring-boot-starter-thymeleaf: Thymeleaf er en skabelonmotor og giver et mere struktureret format til skabelonerne.

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

spring-boot-devtools: Det er en valgfri afhængighed, men giver mange udviklingsværktøjer og funktioner til at bygge applikationer.

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

Trin 2: Oprettelse af ressourcer

Når pom.xml-filen er konfigureret, lad os oprette ressourcerne.

  • Naviger til ` src/main/ressourcer ` mappe i projektstrukturen. Inden i det skal du oprette en mappe med navnet ` skabeloner ` for at gemme HTML-skabelonerne. Opret nu en brugerdefineret fejlside med en ` .html ` forlængelse. For eksempel har jeg navngivet HTML-skabelonen som ` fejl_side `.html.

package_explorer

  • Skriv nu din tilpassede logik, som du vil tilsidesætte standard whitelabel-fejlsiden med.

error_page.html:

HTML




> <> html> >> <> head> >> > <> title> >Fejltitel> hoved>

Brugerdefineret fejl Sideh1>

Noget gik galt. Prøv venligst igen senere.p> body> html>>

Trin 3: Tilsidesættelse af standardegenskaberne

  • Som standard bruger Spring Boot ' applikationsegenskaber ` eller ` application.yml ` fil for at indstille egenskaberne for et program. For at tilsidesætte enhver standardadfærd i Spring Boot-applikationen kan vi tilføje og konfigurere egenskaberne i disse filer i henhold til dit byggestyringsværktøj. Som standard bruger Spring Boot Whitelabel-fejlsiden. Lad os konfigurere nogle egenskaber for at tilsidesætte denne adfærd.
  • Kopier og indsæt følgende egenskaber i ` applikationsegenskaber ` (hvis du bruger Maven)

//Denne egenskab bruges til at angive stien til vores skabelon
spring.mvc.view.prefix=/skabeloner/

//Denne egenskab bruges til at angive udvidelsen eller typen af ​​skabelonerne
spring.mvc.view.suffix=.html

//Denne egenskab sat til false angiver, at vi ikke ønsker at bruge standard whitelabel-fejlsiden server.error.whitelabel.enabled=falsk

//Denne egenskab bruges til at angive stien til vores fejlside
server.error.path=/fejl

Trin 4: Oprettelse af Controller-klassen

Lad os skabe Controller-klassen for vores projekt. For at gøre det skal du navigere til standardpakken for vores projekt. Opret en underpakke med navnet ` controller ` og inde i controllerpakken opret controllerklassen. For eksempel har jeg navngivet controllerklassen som ` 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'> ;> > }> > }>

Forklaring til oprettelse af controllerklassen:

I ovenstående kode implementerer vores ControllerClass ` ErrorController ` for at gengive fejl. I klassen har vi defineret en ` handleFejl ` metode som er kommenteret med ` @GetMapping ` specificeret med slutpunktet ` /fejl ` og returnere skabelonen ` fejlside `.

Projektets struktur

Sørg for, at dit projekt er i følgende projektstruktur.

projekt_struktur

Trin til at køre applikationen

For at køre applikationen, højreklik på projektet > Løb som > Spring Boot App.

springboot_application_run

Output af den tilpassede fejlside:

Prøv at give en hvilken som helst sti, der ikke håndteres i controllerklassen. Det vil vise den tilpassede fejlside.

custom_error_page