如何使用 Firebase 1.0.2 忽略对象模型的新字段
我正在使用Firebase依赖项的最后一个版本,即1.0.2,我在正确解析pojos时遇到问题。
问题是,在任何时候架构都可以更改,但我不希望我的应用程序崩溃:
D/AndroidRuntime(14097): 关闭 VM W/dalvikvm(14097): threadid=1: 线程退出,但未捕获异常 (group=0x40a451f8) E/AndroidRuntime(14097): FATAL EXCEPTION: main E/AndroidRuntime(14097): com.firebase.client.FirebaseException: Failed to vaulte to type E/AndroidRuntime(14097): at com.firebase.client.DataSnapshot.getValue(DataSnapshot.java:213)
查看依赖关系树,我发现Firebase使用的是Jackson mapper 1.9.7,因此注释不是一个选项。此外,对象映射器被包装到这个Firebase对象中,所以我无法配置属性(对于Jackson 1.9及更早版本)。@JsonIgnoreProperties(ignoreUnknown = true")
DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES
有没有办法将此属性设置为类级批注或配置映射器或任何其他机制?
最好的解决方案是Firebase 1.0.3开始使用Jackson 2.0,但不知道这是否是他们现在关心的事情。
注意:我已经考虑过排除可传递的Jackson 1.9.7依赖项并添加Jackson 2.0,以便我可以访问此忽略未知功能,但我不认为这是一个可行的选择,因为我将更改市长版本。