改造:仅更新特定字段

时间:2015-06-05 18:30:49

标签: rest parse-platform gson retrofit

我一直在尝试Retrofit而且我真的很简单。

但是我有一个非常重要的问题。 我在我的后端使用Parse,它有一个纯粹的Rest API。

当我想要更新对象时,我使用PUT HTTP Request并仅传递body我要更新的特定值。

但是,使用Retrofit我总是必须在使用@Body注释传递整个对象时对其进行序列化。如果我有一个非常大的物体,这是非常有用的。

我看到的所有解决方案都使用Annotations来通知Converter哪些字段是暴露的。但是,如果我有不同的更新方法来更新不同的字段,这会影响所有请求并且不会起作用。

我想我有两个选择:

  1. 将我想要更新的参数作为Form参数传递并使用 @URLEncoded注释。但事实并非如此RESTful 而且我不认为Parse支持它。
  2. 创建注释以告知应将哪些字段添加到JSON中的body。为此,如何在Converter中访问方法的注释,以便选择要序列化的字段?

1 个答案:

答案 0 :(得分:0)

Retrofit默认使用Gson。并且Gson默认排除空值。所以它不应该是一个问题(除非你在你的对象中使用原始类型)