VRaptor (back) + React (front)

93 views
Skip to first unread message

Yves Henri

unread,
May 29, 2017, 8:52:53 AM5/29/17
to caelum-vraptor
Na última vez em que usei VRaptor, a teoria ainda era que o "back manda no front", e as lógias de rotas/redirection eram feitas nos meus controllers do VRaptor. Conheci o VRaptor há pouco tempo e desde então me questiono como seria um sistema usando VRaptor e React, como backend e frontend respectivamente. Talvez eu faça praticamente todos os meus controllers retornarem JSON pro front, como serviços rest. Talvez esta pergunta/dúvida esteja mais relacionada ao React. Talvez alguém aqui já tenha implementado algo parecido. Talvez.

Bom, a minha dúvida está mais relacionada a questão das rotas/mapeamentos (url A corresponde a action X do meu controller Y; url B redireciona pra url A se Z acontecer; etc). Eu sei que o VRaptor pode fazer isso, assim como o React (react router), porém AINDA não faço a mínima idéia de como esse react router funciona (captação das urls por meio de sockets? servidor node precisa estar em uma porta diferente do meu servidor de aplicação java?), muito menos se alguém precisou usar ele nesse caso.

Pra referência, to usando Spring Security (que também interfere nas rotas, na questão de autenticação e consequentemente os redirecionamentos).
Se alguém tiver feito algo parecido com esse caso, em sistemas com login, e ainda tiver em um repositório público e puder compartilhar, eu agradeço.

Valeu!

Marcio Angelo Matté

unread,
May 29, 2017, 9:00:46 AM5/29/17
to caelum-...@googlegroups.com
Bom dia Yves, 

eu já implementei um sistema com esta abordagem, usei o VRaptor 100% backend com JSON nos retornos. Toda a parte front fiz com AngularJS. Agora estou migrando para o React-Redux e vou usar a mesma analogia do AngularJS. O VRaptor no meu caso ficou apenas com as rotas em serviços REST, ou seja, o Result só envia dados JSON para os consumidores dos serviços, neste caso o Angular, agora o React, ou ainda, os Apps móveis. 

Quanto ao security eu mesmo já fiz várias perguntas e nunca tive uma resposta sobre uma abordagem eficaz, assim, eu estou ainda implementando um sistema RBAC independente de frameworks como Spring Security, JAAS, Shiro etc.


Valeu! 


--
Você recebeu essa mensagem porque está inscrito no grupo "caelum-vraptor" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vraptor+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-vraptor@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/caelum-vraptor.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Marcio Angelo Matté
marcio...@gmail.com

Yves Henri

unread,
May 29, 2017, 10:14:10 AM5/29/17
to caelum-vraptor
Corrigindo meu primeiro post: conheci o REACT há pouco tempo.

Opa, Marcio. Bom dia.

Certo, mas como você fez as rotas no front, mais especificamente no Angular, e agora no React?! Você já viu esse react-router que eu citei?

To num ponto onde eu tenho 1 arquivo JS (bundle proveniente do webpack) e 2 paginas HTML (login e home/main), onde ambas as páginas são exibidas por meio do Spring Security (o SS verifica se o usuário tá logado, se sim, exibe a home, caso contrário exibe a login; após o login, o SS redireciona pra home). Apenas a página home inclui o JS bundle gerado. A partir daí, eu quero que minha página home se encarregue de captar as próximas requisições/urls (rotas) e exiba os componentes/páginas react (react-router, mais uma vez).

Deu pra entender?
Abraço!



Em segunda-feira, 29 de maio de 2017 10:00:46 UTC-3, Marcio Matté escreveu:
Bom dia Yves, 

eu já implementei um sistema com esta abordagem, usei o VRaptor 100% backend com JSON nos retornos. Toda a parte front fiz com AngularJS. Agora estou migrando para o React-Redux e vou usar a mesma analogia do AngularJS. O VRaptor no meu caso ficou apenas com as rotas em serviços REST, ou seja, o Result só envia dados JSON para os consumidores dos serviços, neste caso o Angular, agora o React, ou ainda, os Apps móveis. 

Quanto ao security eu mesmo já fiz várias perguntas e nunca tive uma resposta sobre uma abordagem eficaz, assim, eu estou ainda implementando um sistema RBAC independente de frameworks como Spring Security, JAAS, Shiro etc.


Valeu! 

Em 29 de maio de 2017 09:52, Yves Henri <yvesc...@gmail.com> escreveu:
Na última vez em que usei VRaptor, a teoria ainda era que o "back manda no front", e as lógias de rotas/redirection eram feitas nos meus controllers do VRaptor. Conheci o VRaptor há pouco tempo e desde então me questiono como seria um sistema usando VRaptor e React, como backend e frontend respectivamente. Talvez eu faça praticamente todos os meus controllers retornarem JSON pro front, como serviços rest. Talvez esta pergunta/dúvida esteja mais relacionada ao React. Talvez alguém aqui já tenha implementado algo parecido. Talvez.

Bom, a minha dúvida está mais relacionada a questão das rotas/mapeamentos (url A corresponde a action X do meu controller Y; url B redireciona pra url A se Z acontecer; etc). Eu sei que o VRaptor pode fazer isso, assim como o React (react router), porém AINDA não faço a mínima idéia de como esse react router funciona (captação das urls por meio de sockets? servidor node precisa estar em uma porta diferente do meu servidor de aplicação java?), muito menos se alguém precisou usar ele nesse caso.

Pra referência, to usando Spring Security (que também interfere nas rotas, na questão de autenticação e consequentemente os redirecionamentos).
Se alguém tiver feito algo parecido com esse caso, em sistemas com login, e ainda tiver em um repositório público e puder compartilhar, eu agradeço.

Valeu!

--
Você recebeu essa mensagem porque está inscrito no grupo "caelum-vraptor" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vrapto...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-...@googlegroups.com.

Valério

unread,
May 29, 2017, 10:14:55 AM5/29/17
to caelum-vraptor
Marcio, por que a decisão de migrar do Angular pro React? Voce usa Angular 1.x ou posterior?

Att,

Valério

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vraptor+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-vraptor@googlegroups.com.

Marcio Angelo Matté

unread,
May 29, 2017, 10:28:38 AM5/29/17
to caelum-...@googlegroups.com
Yves, eu to usando autenticação com JWT, então tenho interceptadores tanto do lado do Angular quanto do lado do VRaptor. Os interceptadores do angular verificam no localstorage (aplicações simples) ou em cookies com https (em aplicações mais complexas) e conforme o estado solicitam ao backend acesso as rotas. Acho que da mesma forma que você citou, porém trabalho tudo no frontend. As informações necessárias para os acessos nas rotas backend (VRaptor) eu passo em cabeçalhos HTTP (Authorization) e nos interceptors do VRaptor eu trato e delego acesso/ou não aos controllers, que responderão ao consumidor. Deste modo as duas aplicações estão desacopladas, independentes. Se eu enviar no cabeçalho HTTP pelo POSTMAN, por exemplo, eu consigo acessar/enviar os dados para o backend sem a necessidade de um front. 

Sobre o roteamento, você vai colocar nos controladores do Angular (React) aquilo que vc deseja consumir. Por exemplo, no Angular eu costumo usar o $http, no React uso o Axios, e crios Promises que devolvem o serviço chamado, e assim resolvo as promises nos controllers do Angular. Uso o UI.Router para isso.

Fazendo uma analogia ao que você comentou na primeira mensagem, onde o VRatpor precisava de uma rota pra chamar um form e outra para envio dos dados, creio que no mundo REST isso fica desnecessário, uma vez que uma rota de serviço está disponível para quem tem acesso garantido a ela. Por isso nos consumidores (Angular, React, IONIC, etc) basta que um controlador front saiba qual controlador acessar no back. 

No React eu ainda não tenho domínio, pois esto estudando ainda, então não saberia te dizer exatamente como fazer os roteamentos, mas creio que seja muito parecido com outras tecnologias.  

Não sei se me entendeu! ;-)


Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vraptor+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-vraptor@googlegroups.com.

Marcio Angelo Matté

unread,
May 29, 2017, 10:36:50 AM5/29/17
to caelum-...@googlegroups.com
Valério,

a opção na verdade foi por achar que o React vem com novas abordagens, principalmente a questão do estado dos componentes. Eu uso ainda o Angular 1 sim, mas estudei o Angular 2/4 e vejo que a sintaxe é muito parecida com a do React. Gosto muito do angular, tanto o 1 quando o 2/4, mas estou pensando em um futuro próximo o React ser mais simples (o que eu acho que não é no momento) e menos "ortodoxo" que o angular por exemplo. Mas é tudo opção pessoal, pois lendo alguns posts, vejo algumas discussões que não levam a lugar algum, como aquelas de sempre a Linguagem X é melhor que Y, ou esse framework é melhor que aquele. Acho que cada um tem o seu melhor e pior, como tudo na vida. Tem coisas do angular que eu não gosto, já tem outras que acho show de bola. Mesmo assim, como falei, gosto muito do Angular, e estou aprendendo o React com Redux, e também um pouco de React Native, e estou achando legal. 

:-) 

[]'s

Valério

unread,
May 29, 2017, 10:40:23 AM5/29/17
to caelum-vraptor
Show. Tá estudando Angular 2/4 e React por onde?

Att,

Valério

Marcio Angelo Matté

unread,
May 29, 2017, 10:42:46 AM5/29/17
to caelum-...@googlegroups.com
Estou estudando em documentação oficial, alguns livros, e estou fazendo 4 cursos do UDEMY. Estou gostando, apesar de alguns instrutores dos cursos ter uma didática muito boa, ainda ficam repetindo muito alguns conceitos extremamente simples por várias aulas... o que é um pouco massante. 

[]'s
:-)

Reply all
Reply to author
Forward
0 new messages