Firebase に依存している時点で最新バージョンの1.0.2 を使用していますが、pojo を正しく解析するのに問題があります。
問題は、いつでもスキーマを変更できるということですが、これでアプリがクラッシュすることは望ましくありません。
D/AndroidRuntime(14097): VM のシャットダウン W/dalvikvm(14097): threadid=1: キャッチされない例外で終了するスレッド (group=0x40a451f8) E/AndroidRuntime(14097): FATAL EXCEPTION: main E/AndroidRuntime(14097): com .firebase.client.FirebaseException: タイプ E/AndroidRuntime(14097) へのバウンスに失敗しました: com.firebase.client.DataSnapshot.getValue(DataSnapshot.java:213) で
依存関係ツリーを調べると、Firebase は Jackson マッパー 1.9.7 を使用しているため、注釈@JsonIgnoreProperties(ignoreUnknown = true")
はオプションではありません。さらに、オブジェクト マッパーはこの Firebase オブジェクトにラップされているため、DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
プロパティDeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES
を構成できません (Jackson 1.9 以前の場合)。
クラスレベルの注釈として、またはマッパーまたはその他のメカニズムを構成するために、このプロパティを設定する方法はありますか?
最善の解決策は、Firebase 1.0.3 が Jackson 2.0 の使用を開始することですが、これが現在気にかけていることであるかどうかはわかりません。
注: 推移的な Jackson 1.9.7 依存関係を除外し、Jackson 2.0 を追加して、この ignoreUnknown 機能にアクセスできるようにすることを既に考えましたが、市長のバージョンを変更することになるため、実行可能な選択ではないと思います。