我一直在尝试Retrofit而且我真的很简单。
但是我有一个非常重要的问题。 我在我的后端使用Parse,它有一个纯粹的Rest API。
当我想要更新对象时,我使用PUT HTTP Request
并仅传递body
我要更新的特定值。
但是,使用Retrofit我总是必须在使用@Body
注释传递整个对象时对其进行序列化。如果我有一个非常大的物体,这是非常有用的。
我看到的所有解决方案都使用Annotations来通知Converter哪些字段是暴露的。但是,如果我有不同的更新方法来更新不同的字段,这会影响所有请求并且不会起作用。
我想我有两个选择:
Form
参数传递并使用
@URLEncoded
注释。但事实并非如此RESTful
而且我不认为Parse
支持它。 JSON
中的body
。为此,如何在Converter中访问方法的注释,以便选择要序列化的字段?答案 0 :(得分:0)
Retrofit默认使用Gson。并且Gson默认排除空值。所以它不应该是一个问题(除非你在你的对象中使用原始类型)