我正在尝试从这里使用 AutoValue 库
我使用 Retrofit 2.0 进行 Web 服务调用,所有 Web 服务请求都因 HTTP 请求错误 400 而失败。通过进一步调查,我知道我必须设置并将其TypeAdapterFactory
传递给 Retrofit Builder
Retrofit retrofit = new Retrofit
.Builder()
.addConverterFactory(gsonConverterFactory)
.baseUrl("http://url.com/")
.build()
这个答案可在如何使用 AutoValue with Retrofit 2?
但是在gsonConverterFactory
那里使用的就像
public class AutoValueGsonTypeAdapterFactory implements TypeAdapterFactory {
public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
Class<? super T> rawType = type.getRawType();
if (rawType.equals(SignIn.class)) {
return (TypeAdapter<T>) SignIn.typeAdapter(gson);
}
return null;
}
}
在哪里rawType.equals(SignIn.class)
使用,所以我的问题是,有没有办法制作通用版本,AutoValueGsonTypeAdapterFactory
或者我必须AutoValueGsonTypeAdapterFactory
使用各自的 DTO 为每个 Web 服务请求创建单独的版本?
提前致谢