Dari melihat opsi, tampaknya Anda dapat membubuhi keterangan properti untuk hanya ditampilkan jika diberikan View
diteruskan ke ObjectMapper
digunakan untuk serialisasi. Dengan demikian Anda dapat mengedit kelas:
public static class FooReference {
public DBRef<Foo> foo;
@JsonView(Views.WebView.class)
public Foo getFoo() {
return foo.fetch();
}
}
dan berikan:
class Views {
static class WebView { }
}
dan kemudian membuat cerita bersambung setelah membuat konfigurasi dengan tampilan yang benar:
SerializationConfig conf = objectMapper.getSerializationConfig().withView(Views.WebView.class);
objectMapper.setSerializationConfig(conf);
Yang kemudian akan membuat serial itu. Tidak menentukan tampilan saat membuat serial dengan pembungkus MongoDB berarti metode tersebut akan diabaikan. Properti tanpa anotasi JsonView diserialisasikan secara default, perilaku yang dapat Anda ubah dengan menentukan:
objectMapper.configure(SerializationConfig.Feature.DEFAULT_VIEW_INCLUSION, false);
Info lebih lanjut tersedia di Jackson Wiki.
Masih ada alternatif lain juga, ternyata:ada Jackson MixIns yang akan membiarkan Anda mengganti (de)serialization perilaku bagian dari kelas tanpa memodifikasi kelas itu sendiri, dan pada Jackson 2.0 (rilis sangat baru) ada filter , juga.