| | |
| | | package com.runt.open.mvvm.retrofit.converter; |
| | | |
| | | import com.google.gson.Gson; |
| | | import com.google.gson.GsonBuilder; |
| | | import com.google.gson.TypeAdapter; |
| | | import com.google.gson.reflect.TypeToken; |
| | | |
| | | import java.lang.annotation.Annotation; |
| | | import java.lang.reflect.Type; |
| | | |
| | | import com.runt.open.mvvm.data.HttpApiResult; |
| | | import okhttp3.RequestBody; |
| | | import okhttp3.ResponseBody; |
| | | import retrofit2.Converter; |
| | | import retrofit2.Retrofit; |
| | | |
| | | import java.lang.annotation.Annotation; |
| | | import java.lang.reflect.Type; |
| | | |
| | | /** |
| | | * My father is Object, ites purpose of 解密gson转换 |
| | |
| | | public class GsonConverterFactory extends Converter.Factory { |
| | | |
| | | public static GsonConverterFactory create() { |
| | | return create(new Gson(),false); |
| | | return create(false); |
| | | } |
| | | |
| | | public static GsonConverterFactory create(boolean transHump) { |
| | | return create(new Gson(),transHump); |
| | | return create(new GsonBuilder().setDateFormat("MMMM dd, yyyy HH:mm:ss a").create(),transHump); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Converter<ResponseBody, ?> responseBodyConverter(Type type, Annotation[] annotations, |
| | | public Converter<ResponseBody, ? extends HttpApiResult> responseBodyConverter(Type type, Annotation[] annotations, |
| | | Retrofit retrofit) { |
| | | TypeAdapter<?> adapter = gson.getAdapter(TypeToken.get(type)); |
| | | return new DecryptGsonResponseBodyConverter<>(gson, adapter,transHump); |
| | | TypeAdapter<? extends HttpApiResult> adapter = (TypeAdapter<? extends HttpApiResult>) gson.getAdapter(TypeToken.get(type)); |
| | | return new GsonResponseBodyConverter<>(gson, adapter,transHump); |
| | | } |
| | | |
| | | @Override |