Spring Boot – Anpassa Whitelabel-felsidan
I Spring Boot-ekosystemet, när det inte finns någon anpassad felsida för att hantera ett specifikt fel, hanterar Spring Boot som standard felet med hjälp av Whitelabel felsida.
Detta är standardsidan för Whitelabel-fel. Vi kan också anpassa denna whitelabel-felsida. Låt oss i den här artikeln diskutera några metoder för att anpassa denna Whitelabel-felsida.
Notera: Vi kan inaktivera Whitelabel-felsidan genom att ställa in egenskapen server.error.whitelabel.enabled till false.
server.error.whitelabel.enabled=false
IDE-installation för projektet
Låt oss ställa in vår IDE genom att skapa Spring Boot-projektet. För att skapa ett Spring Boot Project, navigera till Arkiv-menyn > Ny > Andra > Vårstartprojekt
Konfigurera projektet enligt dina krav.
Notera: Här, Java version 8, Maven build-hanteringsverktyg och Eclipse IDE som används för Java och webbutvecklare 2023-06
Vi kan också lägga till följande beroenden inom ett klick när vi ställer in projektet.
Erforderliga beroenden
Spring Boot DevTools Thymeleaf Spring Web Services
Och när du har lagt till dessa beroenden klickar du på ' Avsluta 'projektet kommer att skapas.
Projektuppsättning för applikationen
Steg 1: Lägga till beroenden
När projektet har skapats, låt oss konfigurera vår pom.xml-fil (om du använder Maven) genom att lägga till nödvändiga beroenden.
spring-boot-starter-web-services : För att hantera HTTP-metoder och slutpunkter
org.springframework.boot spring-boot-starter-web-services
spring-boot-starter-thymeleaf: Thymeleaf är en mallmotor och ger ett mer strukturerat format för mallarna.
org.springframework.boot spring-boot-starter-thymeleaf
spring-boot-devtools: Det är ett valfritt beroende men ger många utvecklingsverktyg och funktioner för att bygga applikationer.
org.springframework.boot spring-boot-devtools runtime true
Steg 2: Skapa resurserna
När pom.xml-filen är konfigurerad, låt oss skapa resurserna.
- Navigera till ` src/main/resources ` i projektstrukturen. Skapa en mapp som heter ` mallar ` för att lagra HTML-mallarna. Skapa nu en anpassad felsida med en ` .html ` förlängning. Till exempel har jag döpt HTML-mallen till ` error_page `.html.
- Skriv nu din anpassade logik med vilken du vill åsidosätta standardsidan för whitelabel-fel.
error_page.html:
HTML
> <> html> >> <> head> >> > <> title> >Feltitel> huvud> |
Steg 3: Åsidosätt standardegenskaperna
- Som standard använder Spring Boot ` applikationsegenskaper ` eller ` application.yml `-fil för att ställa in egenskaperna för ett program. För att åsidosätta alla standardbeteenden i Spring Boot-applikationen kan vi lägga till och konfigurera egenskaperna i dessa filer enligt ditt bygghanteringsverktyg. Som standard använder Spring Boot felsidan Whitelabel. Låt oss konfigurera några egenskaper för att åsidosätta detta beteende.
- Kopiera och klistra in följande egenskaper i ` applikationsegenskaper ` (om du använder Maven)
//Denna egenskap används för att indikera sökvägen till vår mall
spring.mvc.view.prefix=/mallar///Denna egenskap används för att indikera mallarnas tillägg eller typ
spring.mvc.view.suffix=.html//Den här egenskapen inställd på false indikerar att vi inte vill använda standardsidan för whitelabel-fel server.error.whitelabel.enabled=false
//Denna egenskap används för att ange sökvägen till vår felsida
server.error.path=/fel
Steg 4: Skapa klassen Controller
Låt oss skapa Controller-klassen för vårt projekt. För att göra det, navigera till standardpaketet för vårt projekt. Skapa ett underpaket med namnet ` kontroller ` och inuti controller-paketet skapa controller-klassen. Till exempel har jag döpt controllerklassen till ` 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'> ;> > }> > }> |
Förklaring för att skapa kontrollerklassen:
I ovanstående kod implementerar vår ControllerClass ` ErrorController ` för att göra fel. I klassen har vi definierat en ` handleError ` metod som är kommenterad med ` @GetMapping ` specificerad med slutpunkten ` /fel ` och returnera mallen ` error_page `.
Projektets struktur
Se till att ditt projekt är i följande projektstruktur.
Steg för att köra programmet
För att köra programmet, högerklicka på projektet > Spring som > Spring Boot App.
Utdata från den anpassade felsidan:
Försök att ange en sökväg som inte hanteras i controllerklassen. Den kommer att visa den anpassade felsidan.