Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

5. Dividir para conquistar! ROTAS angular + node

Boa noite galera,

Minha dúvida é o seguinte, quando monto uma single page application eu defino as rotas da minha aplicação, até ai tudo bem, mas vamos para os seguinte cenários.

Cenário 1 - Tenho uma rota /livros/#form no meu front-end (angular) Tenho uma rota /livros/form no meu back-end (node) O que vai acontecer quando eu acessa as duas URLS?

Cenário 2 modulo html2 ativado - Tenho uma rota /livros/listaLivros no meu front-end (angular) Tenho uma rota /livros/listaLivros no meu back-end (node) O que vai acontecer quando eu acessa a URL?

Fiz o curso de node já porém ainda estou confuso como é o trabalho e funcionamento do angular e node ;)

Abraços.

4 respostas
solução!

Olá Lucas,

-No primeiro cenário provavelmente não ocorrerá conflito devido ao "#(cerquilha)" que diferencia o front(angular) do back (node). /livros/#/form (FRONT Angular) /livros/form (BACK Node)

- Já no segundo cenário se não houver um tratamento no back-end (node), quando você tentar acessar a URL poderá receber uma pagina com erro 404.

Uma das formas de tratar o conflito no back-end é colocar algo na uri do seu serviço algo que diferencie da url's que angular utiliza. Por exemplo:

  • rest/livros/listaLivros (url do back-end)
  • /livros/listaLivros (url do angular)

Obs.: Moderadores me corrijam se eu estiver falando alguma besteira.

Obrigado pela explicação Vinicius, foi o o que realmente estava pensando.

Abraços.

Na realidade existe formas de identificar o que quer receber como na vídeo aula do Spring MVC II - Video 2.2, no caso ele configura para que caso queira receber um dado em json cria uma extensão '.json'

no caso ficaria '/livros/listaLivros.json'

No spring mvc cria rotas como o angular, ai ao invés de criar 2 métodos que retorna basicamente o mesmo valor existe a opção de configurar para acrescentar uma extensão '.json' e receber o dado como json ou então '.xml' e receber como xml.

E se não colocar a extensão irá acessar a rota do html.