簡體   English   中英

如何在改造2.0中自定義GSON轉換器?

[英]How to custom a gson converter in retrofit 2.0?

我將在gson轉換器中初始化對象。

在1.9版中,我這樣重寫GsonConverter:

public class MyGsonConverter extends GsonConverter {
        @Override
        public Object fromBody(TypedInput body, Type type) throws ConversionException {
                    Object obj = super.fromBody(body, type);
                    if (obj instanceof User) {
                        ((User)obj).init();
                    }
                    return obj;
        }
}

RestAdapter setConverter(新的MyGsonConverter(gson))

現在,在Retrofit 2.0中,它沒有GsonConverter,而是更改為Converter.Factory。 它不能在方法中返回對象。

如何在Retrofit 2.0的轉換器中初始化對象?

根據Retrofit-converter中的現有類,將ConverterFactory而不是Converter子類化,並為其提供自定義GsonResponseBodyConverter。

可能會有關於它的文檔:

https://github.com/square/retrofit/issues/1305

同時,您可以按照與Converter相同的方式修改這些類:

https://github.com/square/retrofit/tree/master/retrofit-converters/gson/src/main/java/retrofit2/converter/gson

如果您可以使用Converter做到這一點,那么使用Factory就不那么難了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM