Prezados,
Eu tinha um problema de serialização JSON de list vindas do hibernate que resolvi com o tópico abaixo:
http://www.guj.com.br/java/271528-problemas-na-serializacao-de-heranca-vraptor-341
Entretanto, percebi que muita coisa que funcionava parou de funcionar porque o root do JSON deixou de ser list e passou a ser persistentBag.
Existe um modo de no converter (ou outra forma) eu informar qual vai ser o nome do root do JSON?
vc tah usando o withoutRoot()? se não, pode fazer:
result.use(json()).from(listaDosCaras, "list")......
Queria fazer de maneira global, para não ter que alterar em muitos locais.
É possível?
é possível sim…
sobrescreva o TypeNameExtractor do VRaptor. Algo do tipo:
@ApplicationScoped
@Component
public class MeuNameExtractor extends DefaultTypeNameExtractor {
public String nameFor(Type generic) {
if (PersistentBag.class.equals(generic)) {
return "list";
} else {
return super.nameFor(generic);
}
}
}