2013-04-11 20 views
13

Ich habe eine Klasse ElternteilZwingende @jsonIgnore in der Unterklasse

public class Parent { 

    private int id; 

    @JsonIgnore 
    // getId() 

    // setId() 

} 

Ich habe eine Unterklasse, die von Eltern

public class Child extends Parent { 

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

    @Override 
    // setId 

} 

ich die Eigenschaft id tatsächlich wollen nicht serialisiert werden abgeleitet wird, wenn ein Objekt von Parent wird zurückgegeben, aber es sollte serialisiert werden, wenn ein Objekt der Child-Klasse zurückgegeben wird.

Ich denke, wenn Parent eine Schnittstelle war, würde das Überschreiben der Sichtbarkeit funktionieren, aber ich bin mir nicht sicher, ob das Verhalten mit der Oberklasse identisch ist.

Gibt es dafür eine einfache Lösung? Ich würde deine Antworten wirklich schätzen. Tx.

Antwort

28

Was Sie in der Child-Klasse wollen, ist nicht @JsonProperty sondern @JsonIgnore(false).

+0

Das funktioniert gut. Und Danke, dass Sie auch die Formatierung des Codes geändert haben. –