Estou procurando uma maneira em Jackson de permitirserialização de um relacionamento, dependendo do elemento raiz. Por exemplo, eu tenho um relacionamento que não é um verdadeiro pai / filho. Ambas as entidades podem ser consultadas.
Address {
@JsonBackReference
Company company;
String line1;
String city;
String state;
String zip;
String country;
}
Company {
Address mainAddress;
List<Address> locations;
String name;
}
O JsonBackReference faz com que não existareferência circular ao serializar para json. No entanto, isso também me leva a não conhecer a empresa de um endereço. Se estou listando empresas, os endereços retornam e tudo está bem. Mas se eu estiver listando endereços, gostaria que a empresa fosse serializada. Existe uma maneira de conseguir isso?
Respostas:
0 para resposta № 1Você precisa usar o Jackson @JsonTypeInfo
para serializar e desserializar. Por favor olhe Documentação de Jackson para mais detalhes. Tente evitar 1.9.8
versão se você tiver classes internas estáticas (isso possui um erro e leva ao StackOverflowError).