2016-04-01 26 views
1

Merhaba Şirketimin genel çerçevesinden alınan bir kullanıcı nesnesi için bir Rest servisi yazıyorum.jackson mixins yığın yığını atma hatası

User userobj = commonframework.getuser (userid); // kullanıcı arayüzü

sorun ortak bir çerçeve kullanıcı nesne "isSomeflag()" ve benzeri gibi bir String alan için 2 alıcılar ile bir nesne sahiptir "getSomeflag()" I commonframework kodunu değiştirmek olamaz

** Jackson Mixins ** kullanarak bitti ama stackoverflow hatası atıyor. Herhangi bir yardım takdir edilecektir.

Kod hizmet yönteminde

public abstract class IgnoreMixin { 
    @JsonIgnore 
    public abstract String isServiceOnlyflg(); 
} 

aşağıda:

@Produces(MediaType.APPLICATION_JSON) 
public Response createUserInfo{ 
mapper = new ObjectMapper(); 
mapper.getSerializationConfig().addMixInAnnotations(DealerImpl.class,IgnoreMixin.class); 
writer = mapper.writer().withDefaultPrettyPrinter(); 
return writer.writeValueAsString(userobj); 
} 

Yaklaşım -2

Ben benzer özellik ile yerel bir sınıf oluşturup bu özellikleri haritalama deneyin çalıştı kullanıcı nesnesinden lo'ya cal nesnesi. açmasının çıkarsama sorunu sınıfı kullanıcı nesnesi

yalnızca bir kez başvuruda bulunulan Ama sorun kullanıcı sırayla defalarca nesne sorunu bakın birçok üye nesnesi içerir ve ben çerçevesinde birçok sınıfların birçok yerel kopyasını oluşturmak zorunda kullanıcı yapısı

sizin temel sınıfta yöntemi isSomeflag() ve getSomeflag() ise belgelerine göre işletmelerin bu

+0

Eğer stacktrace ekleyebilir kontrol – Koitoer

cevap

2

için herhangi bir çözüm. Sen

@JsonProperty("newProp") abstract int isSomeflag() 
@JsonIgnore abstract int getSomeflag(); 

birini Yoksay ve diğer JsonProperty ile Marshall haline bıraksan.

Ayrıca muhtemelen size jsonfilter ile kırmaya gerek dairesel bağımlılık içindedir, bu link

FilterProvider filterProvider = new SimpleFilterProvider() 
     .addFilter("filtermixin", SimpleBeanPropertyFilter.serializeAllExcept("circulardependency")); 
İlgili konular