我将在 gson 转换器中初始化对象。
在retrofit 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(new MyGsonConverter(gson))
现在在Retrofit 2.0中,不再有GsonConverter,而是改为Converter.Factory。 它无法在方法中返回对象。
如何在 Retrofit 2.0 的转换器中初始化我的对象?
最佳答案
子类化ConverterFactory而不是Converter,并根据retrofit-converter中的现有类为其提供自定义的GsonResponseBodyConverter。
可能会有相关文档:
https://github.com/square/retrofit/issues/1305
同时,您可以像使用转换器一样修改这些类:
如果您可以使用 Converter 来完成此操作,那么使用 Factory 就不那么难了。
关于java - 如何在retrofit 2.0中自定义gson转换器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34988763/