Spring Boot – Tilpass Whitelabel-feilside

Spring Boot – Tilpass Whitelabel-feilside

I Spring Boot-økosystemet, når det ikke er noen egendefinert feilside for å håndtere en spesifikk feil, håndterer Spring Boot som standard feilen ved hjelp av Whitelabel feilside.

Whitelabel_Error_Page

Dette er standard Whitelabel-feilside. Vi kan også tilpasse denne whitelabel-feilsiden. I denne artikkelen, la oss diskutere noen tilnærminger for å tilpasse denne Whitelabel-feilsiden.

Merk: Vi kan deaktivere Whitelabel Error Page ved å sette server.error.whitelabel.enabled-egenskapen til false.
server.error.whitelabel.enabled=false

IDE-oppsett for prosjektet

La oss sette opp vår IDE ved å lage Spring Boot-prosjektet. For å opprette et Spring Boot-prosjekt, gå til Fil-menyen > Ny > Andre > Vårstartprosjekt

springboot_starter_project_creation

Konfigurer prosjektet i henhold til dine krav.

Merk: Her, Java versjon 8, Maven byggeadministrasjonsverktøy og Eclipse IDE brukt for Java og webutviklere 2023-06

spring_starter_project_window

Vi kan også legge til følgende avhengigheter innen et klikk mens vi setter opp prosjektet.

Nødvendige avhengigheter

Spring Boot DevTools Thymeleaf Spring Web Services 

Og når du har lagt til disse avhengighetene, klikker du på ' bli ferdig «prosjektet vil bli opprettet.

adding_dependencies_in_spring_starter_project

Prosjektoppsett for applikasjonen

Trinn 1: Legge til avhengigheter

Når prosjektet er opprettet, la oss konfigurere pom.xml-filen vår (hvis du bruker Maven) ved å legge til de nødvendige avhengighetene.

spring-boot-starter-web-tjenester : For å håndtere HTTP-metoder og endepunkter

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

spring-boot-starter-thymeleaf: Thymeleaf er en malmotor og gir et mer strukturert format for malene.

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

spring-boot-devtools: Det er en valgfri avhengighet, men gir mange utviklingsverktøy og funksjoner for å bygge applikasjoner.

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

Trinn 2: Oppretting av ressursene

Når pom.xml-filen er konfigurert, la oss lage ressursene.

  • Naviger til ` src/main/resources `-mappen i prosjektstrukturen. Opprett en mappe med navnet ` maler ` for å lagre HTML-malene. Lag nå en egendefinert feilside med en ` .html ` forlengelse. For eksempel har jeg kalt HTML-malen som ` error_page `.html.

package_explorer

  • Skriv nå din tilpassede logikk som du vil overstyre standard whitelabel-feilside med.

error_page.html:

HTML




> <> html> >> <> head> >> > <> title> >Feiltittel> hode>

Egendefinert feil Sideh1>

Noe gikk galt. Vennligst prøv igjen senere.p> body> html>>

Trinn 3: Overstyre standardegenskapene

  • Som standard bruker Spring Boot ' applikasjonsegenskaper ` eller ` application.yml `-fil for å angi egenskapene til et program. For å overstyre enhver standardoppførsel til Spring Boot-applikasjonen, kan vi legge til og konfigurere egenskapene i disse filene i henhold til byggeadministrasjonsverktøyet ditt. Som standard bruker Spring Boot Whitelabel-feilsiden. For å overstyre denne virkemåten, la oss konfigurere noen egenskaper.
  • Kopier og lim inn følgende egenskaper i ` applikasjonsegenskaper ` (hvis du bruker Maven)

//Denne egenskapen brukes til å indikere banen til malen vår
spring.mvc.view.prefix=/maler/

//Denne egenskapen brukes til å indikere utvidelsen eller typen av malene
spring.mvc.view.suffix=.html

//Denne egenskapen satt til false indikerer at vi ikke ønsker å bruke standard whitelabel-feilside server.error.whitelabel.enabled=false

//Denne egenskapen brukes til å spesifisere banen til feilsiden vår
server.error.path=/error

Trinn 4: Opprette Controller-klassen

La oss lage Controller-klassen for prosjektet vårt. For å gjøre det, naviger til standardpakken til prosjektet vårt. Opprett en underpakke med navnet ` kontrolleren ` og inne i kontrollerpakken oppretter du kontrollerklassen. For eksempel har jeg kalt kontrollerklassen 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 for å lage kontrollerklassen:

I koden ovenfor implementerer vår ControllerClass ` ErrorController ` for å gjengi feil. I klassen har vi definert en ` handleFeil ` metode som er annotert med ` @GetMapping ` spesifisert med endepunktet ` /feil ` og returnerer malen ` error_page `.

Prosjektstruktur

Sørg for at prosjektet ditt er i følgende prosjektstruktur.

prosjekt_struktur

Trinn for å kjøre applikasjonen

For å kjøre applikasjonen, høyreklikk på prosjektet > Løp så > Spring Boot App.

springboot_application_run

Utdata fra den egendefinerte feilsiden:

Prøv å gi en hvilken som helst bane som ikke håndteres i kontrollerklassen. Den vil vise den egendefinerte feilsiden.

custom_error_page