Problemas de rotas com Springboot + AngularJS + html5Mode(true)

Boa tarde pessoal, alguém já passou pelo problema de rotas do AngularJS com o SpringBoot quando esta se trabalhando com $locationProvider.html5Mode(true)?

Consegui corrigir algumas rotas e elas já estão sendo abertas pelo navegador, porem as que exigem que precise passar parâmetros, não sei o porque mas elas não carregam o Bootstrap e o layout fica totalmente zuado.

Aqueles que quiserem mais detalhes do código fonte o mesmo se encontra no link abaixo no Github.

Não entendo como esse forum pode ser assim… mando coisas aqui a mais de 4 anos e ninguém nuca reponde nada, achei que algo tinha mudado mas pelo visto tudo continua na mesma.

Sem postar o problema diretamente fica mais difícil mesmo, maioria nao tem paciência em acessar github. E se escolheu Angular vai ter que penar, é um framework que complica mesmo.

Então o problema é que não carrega o bootstrap quando e passado uma rota com parâmetros, se quiser baixar o projeto no github o mesmo ja esta com maven e npm, então em 5 minutos se configura.

Achei diversos post’s relacionado a esse problemas como por exemplo esse abaixo

Fazendo tudo que a galera menciona nesse link eu consegui concertar 90%, que são as rotas que não existe passagem de parametros, porem as que exigem por algum motivo o springboot cancela tudo e não deixa carregar o css do bootstrap.

Atualizei o cliente com esse erro, porque joguei a toalha não consigo acahar nada que me ajude com isso.

Nao está se complicando a toa? Já que está usando AngularJs, toda parte de CSS, HTML e navegação sao independentes do back-end Spring. Spring nao deveria nem saber que o CSS existe. Na parte do back-end Spring só deveria se preocupar em trafegar dados em json.

Front-end:
https://tableless.com.br/criando-uma-aplicacao-single-page-com-angularjs/

Parte de dados no back-end:


O projeto já esta assim, o problema que ocorre é que o springboot esta interceptando as rotas antes do anuglarjs, tanto é que se eu navegar pelo site através de link’s e não digitando direto a url no browser, tudo funciona perfeitamente.

Vao ter que decidir quem vai controlar a rota de navegacao, AngularJs ou Spring. Se for pelo Spring nem precisa usar AngularJs. Se for pelo AngularJs apenas use Spring pra trafegar dados, seguindo REST.

Obrigado pelo esforço mas não é esse o problema, eu preciso mapear o objeto router no Angularjs, uma alternativa seria talvez eu quebrar meu projeto em 2 ficando somente a API e SITE separados, hoje faço tudo em único projeto e utilizo o thymeleaf somente para apontar para o index dali pra frente é o Angularjs que comanda tudo.

Sim, separar em dois projetos, front-end e back-end. O front será formado por arquivos estáticos HTML/CSS/JS desligados do Java/Spring, que por sua vez terá somente APIs para trafegar os dados em json. Só estou falando nesta separação por voce esta usando Angular, que é para quem faz SPA, senão poderia fazer tudo em Thymeleaf do lado server. Mas como é Angular seu index poderia ser diretamente o index.html do projeto front-end.

Pelo que vi do seu histórico você já passou pelo Flex, então o conceito de separação seria o mesmo, assim como o front era independente do Java, trafegando somente dados através do blazeds.

Sim… saudoso flex… saudades de trabalhar com ele (risos).

Eu comecei a minha arquitetura dessa forma, mas para nao ter que ficar manipulando dois projetos independentes resolvi criar conforme esses tutoriais.

Dessa forma fica bem mais fácil de trabalhar e até esse momento não havia gerado nenhum problema, foi eu atualizar os meus NPM que fui obrigado e começar utilizar o html5Mode, pois ele enfio !# dentro de todas as minhas url como prefixo e bagunçou o projeto por inteiro.