Mam ten kod w klasie o nazwie Project
:Jak Jackson ignorować metodę get() podczas szeregowania obiektu
@Transient
public List<Release> getAllReleases() {
List<Release> releases = new ArrayList<Release>();
...
return releases;
}
Gdy przedmiotem projektu jest szeregowane metodę getAllReleases()
nazywa i pole allReleases
zostanie dodany do serializowanego obiektu.
Jeśli dodaję @JsonIgnore
przed metodą, otrzymam taki sam wynik. Zastanawiam się, w jaki sposób mogę zaimplementować metodę getFoo()
, która jest ignorowana przez Jacksona podczas serializacji obiektu.
Ewentualnie mogę zrobić:
static public List<Release> getAllReleases(Project proj) {
List<Release> releases = new ArrayList<Release>();
...
return releases;
}
ale rozwiązanie wygląda nieco brzydki, i jestem prawie pewien, że musi być jakiś prostszy mechanizm przewidziany przez Jacksona.
Czy brakuje mi czegoś? TIA
Walcząc z zależnościami, wygląda jak mój projekt jest przy użyciu zarówno jackson1 (org.codehaus.jackson) i jackson2 (com.fasterxml.jackson), a wydają się być w konflikcie. Kontroler REST najwyraźniej używa jackson1 i ignoruje adnotacje używane w modelu. – NoUserFound