2013-04-11 15 views
13

Ho una classe genitore@jsonIgnore prevalente alla sottoclasse

public class Parent { 

    private int id; 

    @JsonIgnore 
    // getId() 

    // setId() 

} 

ho una sottoclasse che è derivata da Parent

public class Child extends Parent { 

    @JsonProperty // just to explicitly tell jackson to serialize this 
    @Override 
    // getId() 

    @Override 
    // setId 

} 

Io in realtà non voglio la proprietà ID per essere serializzato quando un l'oggetto di Parent viene restituito ma deve essere serializzato quando viene restituito un oggetto di classe Child.

Penso che se Parent fosse un'interfaccia, ignorando la visibilità avrebbe funzionato, ma non sono sicuro che il comportamento sia lo stesso con la superclasse.

C'è una soluzione semplice per questo? Apprezzerei molto le tue risposte. Tx.

risposta

28

Quello che si desidera nella classe Bambino non è @JsonProperty ma invece @JsonIgnore(false).

+0

Questo funziona benissimo. E grazie per aver cambiato anche la formattazione del codice. –

Problemi correlati