package com.hao.util; import com.hao.util.converter.FastjsonRequestConverter; import com.hao.util.converter.FastjsonResponseConverter; import com.google.common.base.Charsets; import okhttp3.RequestBody; import okhttp3.ResponseBody; import retrofit2.Converter; import retrofit2.Retrofit; import java.lang.annotation.Annotation; import java.lang.reflect.Type; import java.nio.charset.Charset; public class FastJsonFactory extends Converter.Factory { private Charset charset; public FastJsonFactory(Charset charset) { this.charset = charset; } public static FastJsonFactory create(Charset charset) { return new FastJsonFactory(charset); } public static FastJsonFactory create() { return create(Charsets.UTF_8); } @Override public Converter<?, RequestBody> requestBodyConverter(Type type, Annotation[] parameterAnnotations, Annotation[] methodAnnotations, Retrofit retrofit) { return new FastjsonRequestConverter<>(type,charset); } @Override public Converter<ResponseBody, ?> responseBodyConverter(Type type, Annotation[] annotations, Retrofit retrofit) { return new FastjsonResponseConverter<>(type,charset); } }