VRaptor + JSON

Pessoal,

Estou usando VRaptor, será que poderiam me ajudar a gerar um JSON com a classe abaixo?

public class Pessoa {

	private String id;
	private String nome;
	private List<Filho> filhos;

	get/set...

}

Ou seja, preciso disponibilizar o json com o registro mestre e detalhe…

Abs.

Tome um pouco de cuidado com isso, pois você pode ter problemas de recursividade ou do seu json ficar MUITO pesado.

O meu conselho é: crie uma classe que vai ser o seu JSON formatado e essa classe será populada à partir da sua entidade.

Para gerar o json, faça assim:

Pessoa p = new Pessoa();
result.use(Results.json()).withoutRoot().from(p).recursive().serialize();

Poxa Rafael… que massa… agradeço muuuuito as dicas… valeu mesmo! Acho que vai resolver sim, vou testar e te falo.

Você trabalha com VRaptor a bastante tempo? Estamos querendo iniciar um projeto “novo”, ou seja do zero… Você indicaria o VRaptor? Estou com um pouco de receio porque não sei o futuro dele, já o Spring eu encontro mais materiais. O projeto será uma aplicação com foco em Financeiro (Contas à Pagar e Receber), estoque e vendas, não gosto de chamar de ERP porque está longe disso, ao mesmo tempo não gostaria de usar JSF porque nossa intenção é ter liberdade total no designer do sistema, o banco de dados será PostgreSQL.

Todas as dicas nos ajudará a tomar essa decisão que NÃO É FÁCIL… rsrsrs

Já pensamos em usar o NodeJS com MongoDB, mas queremos ter nossa propriedade intelectual “protegida”, o node expõe o código fonte no servidor já que é tudo JS e temos receio de lá na frente precisar de algo que não tem no Node, em fim… não é fácil definir isso… me ajudem…

Abs.

Na verdade eu aconselho o que você mais conhece. Assim você gasta menos tempo tentando aprender/entender.

Eu trabalho com VRaptor tem 2 anos e meio… Já trabalhei com projetos SqlServer e agora trabalho com projetos MySql e Oracle…

Muitos estão em produção.

Eu não gosto do JSF por mais que o desenvolvimento seja mais rápido, a aplicação é mais pesada.
O motivo de eu ter escolhido VRaptor é por que ele é exatamente o contrário do JSF. Mas o desenvolvimento não é tão lento quanto o Struts/Spring. O motivo são os XML de configurações.

Vou te dizer que não é simples programar para a Web, mesmo os mais básicos CRUDs tem seus problemas…

É uma lista quase interminável de patterns…

Se a sua intenção é usar a aplicação para aprender uma tecnologia nova, faça isso, mas saiba que vai ter muitos problemas nessa aplicação e a usabilidade vai ser comprometida.
Se a sua intenção é fazer uma aplicação para render, use a tecnologia que você conhece e extraia o máximo dela.

Por último, mas não menos importante, o Node.Js fica no server e não expõe o código… As pessoas têm muito medo de serem roubadas e nunca saem do mesmo lugar. Acho que o dia em que você parar de se preocupar com isso e começar a dividir os seus projetos, você vai ver eles caminhando.

Eu já passei por isso e te digo que não me preocupo se roubarem o meu código. Existem muitas outras coisas que são mais importantes, como: disponibilizar a aplicação, fazer ela popular, evoluir a aplicação. Coisas que não tem como roubar…

Show Rafael… Valeu mais uma vez!

Essa questão de proteção do código pode gerar polêmica de mais, a solução para isso é bem simples mesmo como você diz, também penso por aí… Mas imagine que você implanta o sistema no cliente, dentro desse cliente sempre tem na TI um ou outro metido a programador, que poderia entrar no servidor e alterar algo no código, os motivos para isso poderiam ser infinitos, o cara quer resolver um problema na aplicação ou até mesmo um desvio de informação R$… etc.

Eu penso bastante nessa questão, mas não com foco nos concorrentes e sim na segurança da aplicação, entende?

Muito obrigado!!! Testei sua dica do recursive() e funcionou perfeito. Valeu mesmo!

Grande abs.
Marcelo

Então… Mas mesmo Java você fica desprotegido, uma vez que existem descompiladores que funcionam MUITO bem…

Acredito que a única coisa que você não consegue descompilar são DLLs… Precisa verificar se vale a pena…

Puts… Isso significa que você pensaria em NodeJS num projeto novo? Acha que valeria a pena?

Não, significa que eu penso em escolher a tecnologia que você já conhece e que você se esforce ao máximo para se tornar expert nela, e assim, se esforçar para fazer o melhor software possível.

Eu estou dizendo para você deixar de se preocupar com a segurança do seu código e passar a se preocupar em fazer o melhor software que existe.

Pior que é isso mesmo… Tem razão!!! Valeu mesmo pelas dicas…

Grande abs.