logo

Spring Boot: personalizar la página de error de etiqueta blanca

En el ecosistema Spring Boot, cuando no hay una página de error personalizada para manejar un error específico, Spring Boot maneja el error de forma predeterminada con la ayuda de Página de error de etiqueta blanca.

Página_de_error_de_etiqueta blanca



Esta es la página de error predeterminada de Whitelabel. También podemos personalizar esta página de error de etiqueta blanca. En este artículo, analicemos algunos enfoques para personalizar esta página de error de Whitelabel.

Nota: Podemos desactivar la página de error de Whitelabel configurando la propiedad server.error.whitelabel.enabled en falso.
servidor.error.whitelabel.enabled=falso

Configuración IDE para el proyecto

Configuremos nuestro IDE creando el proyecto Spring Boot. Para crear un proyecto Spring Boot, navegue hasta la Menú Archivo > Nuevo > Otros > Proyecto inicial de primavera



springboot_starter_project_creación

Configure el proyecto según sus requisitos.

Nota: Aquí, Java versión 8, herramienta de gestión de compilación Maven y Eclipse IDE utilizados para desarrolladores web y Java 2023-06



ventana_proyecto_spring_starter

También podemos agregar las siguientes dependencias con un clic mientras configuramos el proyecto.

Dependencias requeridas

Spring Boot DevTools Thymeleaf Spring Web Services>

Y una vez que haya agregado estas dependencias, haga clic en ' finalizar 'Se creará el proyecto.

agregando_dependencias_en_spring_starter_project

Configuración del proyecto para la aplicación

Paso 1: agregar dependencias

Una vez creado el proyecto, configuremos nuestro archivo pom.xml (si está utilizando Maven) agregando las dependencias requeridas.

servicios-web-de-arranque-de-arranque-de-primavera : Para manejar métodos y puntos finales HTTP

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

spring-boot-starter-thymeleaf: Thymeleaf es un motor de plantillas y ofrece un formato más estructurado para las plantillas.

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

herramientas de desarrollo de arranque de primavera: Es una dependencia opcional pero proporciona muchas herramientas y funciones de desarrollo para crear aplicaciones.

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

Paso 2: Crear los recursos

Una vez configurado el archivo pom.xml, creemos los recursos.

  • Navegue hasta el ` src/principal/recursos `carpeta en la estructura del proyecto. Dentro de eso, crea una carpeta llamada ` plantillas `para almacenar las plantillas HTML. Ahora, cree una página de error personalizada con un ` .html `extensión. Por ejemplo, he nombrado la plantilla HTML como ` página_error `.html.

explorador_paquete

  • Ahora, escriba su lógica personalizada con la que desea anular la página de error de etiqueta blanca predeterminada.

página_error.html:

HTML




> <>html>>> <>head>>> ><>title>>Título de error> encabezado>

Página de error personalizadah1>

Algo salió mal. Inténtelo de nuevo más tarde.p> body> html>>

>

>

Paso 3: anular las propiedades predeterminadas

  • De forma predeterminada, Spring Boot usa el ` application.properties ` o ` aplicación.yml `archivo para establecer las propiedades de una aplicación. Para anular cualquier comportamiento predeterminado de la aplicación Spring Boot, podemos agregar y configurar las propiedades en estos archivos de acuerdo con su herramienta de administración de compilación. De forma predeterminada, Spring Boot usa la página de error Whitelabel. Para anular este comportamiento, configuremos algunas propiedades.
  • Copie y pegue las siguientes propiedades en el ` application.properties ` (si estás usando Maven)

//Esta propiedad se utiliza para indicar la ruta de nuestra plantilla
spring.mvc.view.prefix=/templates/

//Esta propiedad se utiliza para indicar la extensión o tipo de las plantillas
spring.mvc.view.suffix=.html

//Esta propiedad establecida en false indica que no queremos usar la página de error de etiqueta blanca predeterminada servidor.error.whitelabel.enabled=falso

//Esta propiedad se utiliza para especificar la ruta de nuestra página de error
servidor.error.ruta=/error

Paso 4: Crear la clase Controlador

Creemos la clase Controlador de nuestro proyecto. Para hacer eso, navegue hasta el paquete predeterminado de nuestro proyecto. Cree un subpaquete llamado ` controlador ` y dentro del paquete del controlador crea la clase de controlador. Por ejemplo, he nombrado la clase de controlador como ` 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'>;> >}> > }>

mapas java

>

>

Explicación para crear la clase de controlador:

En el código anterior, nuestra ControllerClass implementa el ` Controlador de errores `para representar errores. En la clase, hemos definido un ` manejarError `método que está anotado con ` @GetMapping ` especificado con el punto final ` /error ` y devolviendo la plantilla ` página_error `.

Estructura del proyecto

Asegúrese de que su proyecto esté en la siguiente estructura de proyecto.

estructura del proyecto

Pasos para ejecutar la aplicación

Para ejecutar la aplicación, haga clic derecho en el proyecto > Correr como > Aplicación de arranque de primavera.

springboot_application_run

Salida de la página de error personalizada:

Intente proporcionar cualquier ruta que no esté manejada en la clase de controlador. Mostrará la página de error personalizada.

página_error_personalizada