Prezados,
estou tentando serializar uma classe B que estende da classe A.
Tudo acontece normalmente, porém no meu json só são recuperados campos da classe B, ou seja, campos da classe A não são serializados usando:
result.use(Results.json()).withoutRoot().from(objetoDaClasseA).serialize();
existe alguma maneira de fazer isso sem usar recursive()?
abrassss
a gente corrigiu isso já no VRaptor, mas não foi lançado ainda…
se quiser posso gerar um snapshot.
se puder e não for gerar mto trampo lucas, eu agradeço.
abrasss
se gerar, por favor me passa o link ou instruções de como baixar. abrasss
opa, obrigado lucas, estou com maven. Consegui baixar.
mas o problema persiste, Será que é porque estou herdando de uma classe abstrata?
edit:
mesmo com a classe pai concreta nao deu certo
abrassss
dá uma olhada no log de inicialização… ele apareceu como VRAptor 3.4.1-SNAPSHOT?
esse problema deveria estar corrigido…
esses campos da classe A que vc está falando, são primitivos (números, datas, String) ou são outras classes?
apareceu VRAptor 3.4.1-SNAPSHOT
sao outras classes, tipos que eu criei.
porém NÃO são coleções, deveriam ser serializadas ou estou enganado?
abrass
se são outras classes, o VRaptor não serializa por padrão mesmo, vc precisa dar includes nos atributos, ou usar o recursive();
por padrão só serializa números, datas e string.
Oi Lucas, esse comportamento de serializar primitivos da classe pai já funcionava antes mesmo do snapshot.
vc tem razao, está na doc, confundi, achei que ele não serializava apenas coleções.
então estou fazendo
result.use(Results.json()).withoutRoot().from(task).include("taskType").serialize();
apesar de ter a associação na minha class Task:
@ManyToOne
@NotNull
private TaskType taskType; //getter
recebo a exceção java.lang.IllegalArgumentException: Field path taskType doesn’t exist
estou cometendo algum erro?
abrasss
esse IllegalArgument foi corrigido no snapshot. Tinha um bug que não conseguia incluir campos da classe pai
Excelente. Foi corrigido mesmo.
Muito obrigado pela atenção.
Creio que faz sentido na serialização, serializar todos os atributos que não são collection.
Vou estudar como fazer isso e posto.
abrassss
JackOld
#14
[quote=Lucas Cavalcanti]se são outras classes, o VRaptor não serializa por padrão mesmo, vc precisa dar includes nos atributos, ou usar o recursive();
por padrão só serializa números, datas e string.[/quote]
Post antigo, mas tenho que comentar:
Puuutz Lucas tu salva minha vida sem saber!!! hauhauaua