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.
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
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
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.
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.
- Skriv nå din tilpassede logikk som du vil overstyre standard whitelabel-feilside med.
error_page.html:
HTML
> <> html> >> <> head> >> > <> title> >Feiltittel> hode> |
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.
Trinn for å kjøre applikasjonen
For å kjøre applikasjonen, høyreklikk på prosjektet > Løp så > Spring Boot App.
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.