我一直在嘗試Retrofit,我真的很簡單。改裝:只更新特定字段
但是我有一個otimization關注。 我爲我的後端使用Parse,它有一個純粹的Rest API。
當我想要更新一個對象時,我使用了一個PUT HTTP Request
,並只傳遞了我想要更新的特定值body
。
但是,使用Retrofit時,我總是必須在使用@Body
批註傳遞它時序列化整個對象。如果我有一個非常大的對象,這是非常不利的。
我看到的所有解決方案都是使用註解來通知轉換器哪些字段被暴露。但是,這會影響所有請求,並且如果我具有更新不同字段的更新方法,則不起作用。
我想我有兩個選擇:
- 傳遞我想更新爲
Form
參數和使用 的@URLEncoded
標註的參數。然而,這不是真的RESTful
,我不認爲Parse
支持它。 - 創建註釋以通知哪些字段應添加到
JSON
的body
中。爲此,如何訪問Converter中的方法註釋,以選擇要序列化的字段?
你可以看看這個問題:http://stackoverflow.com/questions/18491733/gson-serialize-field-only -if-not-null-or-not-empty和相應的答案。這會有幫助嗎? –
類別。但是在Converter裏面,我現在該怎麼做,現在用戶想要序列化哪些字段呢?我可以在特定的服務方法中創建註釋,但在GsonConverter內部,我怎樣才能訪問這個註解? – ffleandro