在 Retrofit 上序列化同一对象的不同字段
Serializing different fields from the same object on Retrofit
我是 Retrofit 的新手,我对如何在 Android 中使用它有些疑问。我有一个包含四个字段(id、密码、firstName 和 lastName)的模型,我想从同一对象但使用不同的字段进行两次不同的 POST 调用。一方面,我想用 id 和密码创建一个登录调用。而且,另一方面,我想用 firstName 和 lastName 创建另一个调用。我使用带有 serialized=true 的 @Expose 注释,但是这 4 个字段总是被发送。有没有办法根据调用发送不同的字段?我已经看到我可以使用类型适配器,但我不知道它是如何工作的。
我使用的是 Retrofit 的 2.0.0 版本。
提前致谢!
回答我自己的问题:我创建了一个实现 JsonSerializer 和 JsonDeserializer 的自定义 class,因此我传递了一个包含必须为 serialized/deserialized 的字段的数组。我必须做的最后一件事是在 gson 构建器对象上注册类型适配器 (registerTypeAdapter)。
这很完美!
我是 Retrofit 的新手,我对如何在 Android 中使用它有些疑问。我有一个包含四个字段(id、密码、firstName 和 lastName)的模型,我想从同一对象但使用不同的字段进行两次不同的 POST 调用。一方面,我想用 id 和密码创建一个登录调用。而且,另一方面,我想用 firstName 和 lastName 创建另一个调用。我使用带有 serialized=true 的 @Expose 注释,但是这 4 个字段总是被发送。有没有办法根据调用发送不同的字段?我已经看到我可以使用类型适配器,但我不知道它是如何工作的。 我使用的是 Retrofit 的 2.0.0 版本。
提前致谢!
回答我自己的问题:我创建了一个实现 JsonSerializer 和 JsonDeserializer 的自定义 class,因此我传递了一个包含必须为 serialized/deserialized 的字段的数组。我必须做的最后一件事是在 gson 构建器对象上注册类型适配器 (registerTypeAdapter)。
这很完美!