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.