Jak zignorować nowe pola dla modelu obiektu za pomocą Firebase 1.0.2
Używam ostatniej wersjiw tym momencie zależności od Firebase, która wynosi 1.0.2 i mam problemy z poprawnym przeanalizowaniem mojego pojos.
Rzecz w tym, że w każdej chwili schemat może ulec zmianie, ale nie chcę, aby moja aplikacja uległa awarii:
D / AndroidRuntime (14097): Zamykanie VM W / dalvikvm (14097): threadid = 1: wątek kończy działanie z nieprzechwyconym wyjątkiem (grupa = 0x40a451f8) E / AndroidRuntime (14097): WYJĄTEK: .firebase.client.FirebaseException: nie można odbić, aby wpisać E / AndroidRuntime (14097): na com.firebase.client.DataSnapshot.getValue (DataSnapshot.java:213)
Patrząc na drzewo zależności otrzymuję, że Firebase używa programu Jackson mapper 1.9.7, a więc adnotacji@JsonIgnoreProperties(ignoreUnknown = true")
nie jest opcją. Co więcej, obiekt mapujący obiekty jest zawinięty w ten obiekt Firebase, więc nie mogę go skonfigurowaćDeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
własność (DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES
dla Jacksona 1.9 i wcześniejszych).
Czy można ustawić tę właściwość jako adnotację na poziomie klasy lub konfigurowanie programu odwzorowującego lub dowolnego innego mechanizmu?
Najlepszym rozwiązaniem byłoby to, że Firebase 1.0.3 zaczął korzystać z Jackson 2.0, ale nie wiem, czy to jest coś, na czym im teraz zależy.
Uwaga: Pomyślałem już o wykluczeniu przechodniego zależności Jacksona 1.9.7 i dodaniu Jacksona 2.0, aby móc uzyskać dostęp do tej funkcji ignoreUnknown, ale nie sądzę, aby był to realny wybór, ponieważ zmieniłbym wersję burmistrza.