web-dev-qa-db-fra.com

Spring Boot/Angular 4 - Le routage dans l'application arrive sur le serveur

Je souhaite servir une application Angular 4 (ES6) à partir d'une application Spring Boot. Mon application Angular a un index.html, et lorsque l'adresse de http: // localhost: 8080 est touchée, Spring Boot sait mapper le fichier index.html qui, dans Angular est mappé sur "/ search".

Cependant, j’ai un autre itinéraire appelé "adminlogin" auquel j’aurais accès via 

http: // localhost: 8080/adminLogin

Mais dans ce cas, cela frappe mon application Spring Boot, qui n’a pas de mappage, puis jette une erreur.

Comment obtenir mon adresse de http: // localhost: 8080/adminLogin pour accéder à mon application Angular?

8
Black Dynamite

Puisque le chemin adminlogin n'a été mappé dans aucune des applications printemps controller spring, envoyez la demande à /error, la page d'erreur s'affiche donc.

Vous devez le rediriger vers angular afin que la page adminlogin soit routée par Angular.

Suivre la voie simple pour le faire.

@Controller
public class RouteToAngular implements ErrorController {

    @RequestMapping("/error")
    public String handleError() {
        return "/";
    }

    @Override
    public String getErrorPath() {
        return "/error";
    }
}

Remarque: N'oubliez pas d'implémenter la page 404 dans Angular.

J'espère que cela vous aidera.

1
Arun Prakash