ExtJS4 + vRaptor: Controller não está convertendo json para objectos java

13 respostas
psico.indie

Boa tarde,

Estou implementando um método salvar de um crud quando me deparei com o seguinte problema. O vRaptor não está convertendo o json em objecto java.

O Cliente está indo como null

public void criar(Cliente cliente){ System.out.println(cliente.getDataExpedicao()); }

Este é o Json que está sendo enviado:

Alguém pode me ajudar?

13 Respostas

mario.fts

Olá

Para o Vraptor converter o cliente, vc tem que enviar os parametros no formato cliente.nome, cliente.id, cliente.cpfCnpj, e por ai vai, senão ele não tem como saber que os campos pertencem aquela variavel.

Tem um tutorial do Daniel que você pode ver pra entender como deve converter o json:

http://dkist.k2studio.com.br/2010/05/27/integracao-extjs-com-vraptor-3/

[]'s

psico.indie

Você está me dizendo que meu json deve ser enviado dessa forma?

mario.fts

Olá

Você está enviando os dados através de um form?

se sim, basta que seus inputs tenhas os nomes certos, que o própio método submit irá enviar da maneira correta.

ou você está gerando esse JSON e enviando para o vraptor de outra maneira?

Posta o código do seu form do ext pra gente ver como você está enviando os dados.

[]'s

Lucas_Cavalcanti

o VRaptor não deserializa json por padrão (se vc fizer um post onde o corpo é o json), só xml.

mas se vc está em javascript, é fácil mandar form parameters

psico.indie

Usar form paramers ao invés de passar um json?

psico.indie

Fiz um teste, enviei um xml ele também não serializou.

Lucas_Cavalcanti

precisa anotar o método com @Consumes, e o content-type da requisição tem que estar setado como “application/xml”

psico.indie

Lucas, deu certo. Coloquei essa annotation e funcionou.
No caso, o vRaptor usa o XStream para fazer isso, né?

Lucas_Cavalcanti

exato, mas vc pode sobrescrever a implementação e usar outra lib

psico.indie

Ninguém nunca se habilitou a implementar a deserialização de json’s no vRaptor? Taí uma boa coisa pra eu fazer no meu tempo livre!

psico.indie

Só pra marcar como resolvido.

Lucas_Cavalcanti

contribuições são sempre bem vindas =)

se precisar de qqer ajuda é só falar =)

Lucas_Cavalcanti

corrigindo falha minha: existe o deserializer de json sim, e já está habilitado por padrão

Criado 29 de junho de 2011
Ultima resposta 29 de jul. de 2011
Respostas 13
Participantes 3