Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

739
Views
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 4 years ago · Santiago Trujillo
1 answers
Answer question

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 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!