• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

674
Vistas
Redirigir solicitudes desconocidas a index.html en springboot

Estoy tratando de obtener una aplicación Angular2 a través de una aplicación web springboot. He encontrado muchos ejemplos de cómo hacer esto de manera muy simple:

https://spring.io/blog/2015/01/12/spring-and-angular-js-a-secure-single-page-application#using-spring-boot-cli

https://github.com/zouabimourad/angular2-spring/tree/master/front

https://github.com/ehirsch/spring-angular2

Sin embargo, estos ejemplos son muy simples y básicamente muestran cómo mostrar contenido estático que resulta ser Angular.

Ninguno de ellos muestra cómo manejar ninguna de las URL (creo que se llaman rutas) que usa la aplicación Angular2 que no se asignan a recursos "reales".

P.ej. Tenemos una ruta "/login" en la aplicación Angular, pero no tenemos un @Controller/@RequestMapping("/login") para esto, quiero que Spring muestre index.html cuando vea una solicitud de "/ acceso".

Genéricamente: quiero que Spring represente "index.html" siempre que no pueda ser un recurso real. ¿Hay alguna manera de establecer una vista predeterminada para todas las solicitudes que no se pueden asignar a algo o encontrar?

He abordado esto antes usando un archivo htaccess y he hecho que apache maneje esto:

 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule . index.html [L] ErrorDocument 404 /index.html </IfModule>

Pero no puedo usar apache o nginx en este caso.

about 3 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Como una ronda de trabajo, agregué las rutas angulares en una anotación de RequestMapping y las señalé todas en index.html :

 @RequestMapping({"/login", "/logout"}) public String index() { return "index.html"; }

Editar: como una mejor solución alternativa, puede hacer que el controlador implemente ErrorController , anule el método getErrorPath , luego agregue una asignación para /error que actuará como un método general (o falta de asignación).

 @Controller public class TheOneController implements ErrorController { @RequestMapping("/error") public String index() { return "index.html"; } @Override public String getErrorPath() { return "index.html"; } }

Ahora el método index manejará cualquier cosa que no se pueda encontrar y renderizará index.html .

about 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda