- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我将 Retrofit 和 AutoValue 与 GSON 扩展一起使用。一切正常,但我没有找到在服务器未返回值时初始化属性的方法。我可以添加注释 @Nullable 来避免 NPE,但我希望能够避免空值并为 json 中未设置的属性设置默认值。
我知道如何在不使用 gson 扩展的情况下使用构建器设置属性,但我不知道在使用扩展设置默认值时如何使用这些构建器(或任何其他方式)。
最佳答案
我认为你不能使用自动值来做到这一点,因为它仍然是一个悬而未决的问题
引用:
http://github.com/rharter/auto-value-gson/issues/47
但解决方法是将您自己的模型传递给 gson 进行解析,并在该模型中为您想要的任何变量设置默认值。因此,当您在 json 响应中获取值时,它将自动覆盖默认值,而在其他情况下,默认值已经存在于模型中。
关于android - 使用 Retrofit 和 autovalue 初始化属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39141434/
我刚刚发现了谷歌的 AutoValue 库,它看起来很棒。我正在尝试编译从 here 下载的示例项目 但是该项目无法编译。编译器提示 AutoValue_ 构造函数符号无法识别。 有人可以解释一下我做
尝试在我的 java 类中使用包 com.google.auto.value.AutoValue 的 AutoValue 并出现错误“AutoValue 无法解析为类型” 我已经在 pom.xml 中
我想在新应用中使用整洁的架构,到目前为止效果很好。我将应用程序结构化为 3 个模块(演示、数据和域),如下例所示:Android-CleanArchitecture 我的域模块中有一些实体。其中之一是
我刚开始使用 AutoValue,但我无法让它与混淆器一起使用。我有大约 6000 多个这样的警告 Warning:autovalue.shaded.com.google.common.auto.co
我正在运行 Eclipse Kepler SR2,Maven 3.1.1 附加了 m2e 和 m2e-apt 插件,我收到一个错误,我不知道如何解决。 我设法找到了获得 @AutoValue 所需的所
我正在使用 AutoValue 扩展来生成我的 Parcelable Android 类。该文档特别指出一个 @AutoValue 不能扩展另一个: https://github.com/google
我有一个 Android 项目,它使用 Autovalue 来生成它的一些模型。我正在尝试从旧的 com.android.support.* 转移到新的 androidx.* 依赖项。 我知道在 An
我有这个 JSON 正文: [ { "id": 0, "field1": "10", "field2": "22" }, {
我正在尝试使用 AutoValueGsonTypeAdapterFactory,但从未生成该类。这是我的实现。 @AutoValue public abstract class Foo { p
我有一个与 RxJava 结合的 Retrofit 接口(interface)。我所有的改造调用都返回 Observable。那些“SomePojo”类,我使用 Schema2Pojo 网站在线生成它
我在 SimpleSchema 中使用以下字段, "fileNo": { type: String, label: "File No.", autoValue: funct
根据AutoValue documentation使用 @GwtCompatible(serializing = true) 注解抽象类并实现可序列化应该足以使生成的值类在 GWT RPC 中可用。然
这可能吗?或者 builder 是唯一的解决方案?拥有一个包含 10 个字段的类意味着必须在构建器中复制这 10 个字段,以便 AutoValue 正常工作。或者通过手动编写的创建函数?或者我错过了什
我试图在我的 Android Studio 项目中使用 Google AutoValue 生成 HomeKey,但它没有忽略 AutoValue_HomeKey() (请参阅下面的注释代码)。使用的g
我正在努力获得 AutoValue在 Android 项目中工作。它似乎对其他人有用,所以我一定只是遗漏了一些东西。我试过启用 jack 编译器,但似乎没有帮助。 Here是一个演示项目,当我在本地构
我有一个带有 List 属性的 Java AutoValue 类。我想允许构建器附加到列表而不是必须传递整个构建的列表。 例子: import com.google.auto.value.AutoVa
我最近在和builder玩auto-value。我处于这种情况,假设我必须将一个现有对象转换为一个新对象,并更新一些属性。示例代码在这里: @AutoValue public abstract cla
我有一个这样的模式(剪掉绒毛): Schemas.people = new SimpleSchema({ note: { type: [Schemas.notes], option
我使用 AutoValue 和 auto-value-with 扩展来创建一个稍微改变的对象。 我的类(class)是: @AutoValue public abstract class FeedIt
假设我有一个简单的 AutoValue 类: @AutoValue abstract class Foo { abstract CommonDependency commonDep(); ab
我是一名优秀的程序员,十分优秀!