Automatic serialize UUID to JSON

39 مرّة مشاهدة
التخطي إلى أول رسالة غير مقروءة

Ivo Sestren Junior

غير مقروءة،
14‏/02‏/2017، 8:15:08 ص14‏/2‏/2017
إلى caelum-...@googlegroups.com
Tenho um JsonSerializer<UUID> que esta funcionando perfeitamente.

result.use(Results.json()).withoutRoot().from(valores).include("id").serialize();

Mas sempre no result tenho que fazer o include deste field "id" especificamente para ele sair no json.

Tem como configurar de alguma forma para este tipo ser incluído automaticamente no json produzido pelo result ?

Att.

Ivo Sestren Junior

غير مقروءة،
17‏/04‏/2017، 11:03:45 ص17‏/4‏/2017
إلى caelum-...@googlegroups.com
Alguém tem alguma ideia de como posso tratar isto?
Ainda não consegui resolver.

Edi Linux

غير مقروءة،
17‏/05‏/2017، 5:33:08 م17‏/5‏/2017
إلى caelum-vraptor
....#code .recursive().serialize()

Ivo Sestren Junior

غير مقروءة،
18‏/05‏/2017، 11:07:49 ص18‏/5‏/2017
إلى caelum-...@googlegroups.com
Sim, isto eu sei que funciona.
Mas tem codigos que não posso utilizar o recursive.
E em todos ter que adicionar o include é complicado.
Teria como esta classe ser sempre serializada, como acontece com os tipos primitivos?

--
Você recebeu essa mensagem porque está inscrito no grupo "caelum-vraptor" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vraptor+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-vraptor@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/caelum-vraptor.
Para mais opções, acesse https://groups.google.com/d/optout.

Edi Linux

غير مقروءة،
18‏/05‏/2017، 3:36:00 م18‏/5‏/2017
إلى caelum-vraptor
Eu imagino que vc esteja se referindo aos casos em que a classe possui referencia circular, por causa da modelagem de relacionamento do JAP/Hibernate.
Se for isso eu consideraria utlizar Object Mapping pra não serializar as suas classes de modelo diretamente.
Assim vc vai sempre poder dar um recursive sem medo, e também ajuda se vc quiser fazer filtros na serialização, tipo as vezes vc quer apenas alguns atributos da sua classe e não a classe toda.

Em quinta-feira, 18 de maio de 2017 12:07:49 UTC-3, Ivo Sestren Junior escreveu:
Sim, isto eu sei que funciona.
Mas tem codigos que não posso utilizar o recursive.
E em todos ter que adicionar o include é complicado.
Teria como esta classe ser sempre serializada, como acontece com os tipos primitivos?
Em 17 de maio de 2017 14:29, Edi Linux <s3vr...@gmail.com> escreveu:
....#code .recursive().serialize()

Em segunda-feira, 17 de abril de 2017 12:03:45 UTC-3, Ivo Sestren Junior escreveu:
Alguém tem alguma ideia de como posso tratar isto?
Ainda não consegui resolver.

Em 14 de fevereiro de 2017 10:14, Ivo Sestren Junior <i...@sestren.com.br> escreveu:
Tenho um JsonSerializer<UUID> que esta funcionando perfeitamente.

result.use(Results.json()).withoutRoot().from(valores).include("id").serialize();

Mas sempre no result tenho que fazer o include deste field "id" especificamente para ele sair no json.

Tem como configurar de alguma forma para este tipo ser incluído automaticamente no json produzido pelo result ?

Att.

--
Você recebeu essa mensagem porque está inscrito no grupo "caelum-vraptor" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vrapto...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-...@googlegroups.com.

Ivo Sestren Junior

غير مقروءة،
19‏/05‏/2017، 3:01:54 م19‏/5‏/2017
إلى caelum-...@googlegroups.com
Sim e não.

Acontece que alguns fields das minhas entidades são UUID, não fazem referencia circular neste caso.
Mas este UUID não é serializado por padrão ao usar o results json.
Precisaria que este objeto fosse serializado sempre quando houver.
Para não precisar fazer em todos o uso do include para cada um dos fields do tipo UUID.

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vraptor+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-vraptor@googlegroups.com.

Edi Linux

غير مقروءة،
22‏/05‏/2017، 1:16:19 م22‏/5‏/2017
إلى caelum-vraptor
O que eu falei então serve, vc dá recursive sempre! 
Porém não serializa suas classes de modelo diretamente dai não precisa dar um include.
Eu uso UUID como chave primário, mas sempre o faço sobre uma String.

@Id @GeneratedValue(generator="system-uuid")
@GenericGenerator(name="system-uuid",
  strategy = "uuid")
private String pk;

Na pior das hipóteses considera então criar um interceptor (ele deve ficar alinhado com os interceptors do VRaptor) que antes de dar o response verifica se a classe tem o tão campo UUID se tem vc dá um include no interceptor,
dai ele sempre vai fazer include por vc...
الرد على الكل
رد على الكاتب
إعادة توجيه
0 رسالة جديدة