public static <T> Observable<ResponseBody> requestApi(String url, Class<T> tClass, String methodName,String... params) {
try {
final T t = retrofitBuilder.baseUrl(url).build().create(tClass);
Class<?> apiServceiClass = Class.forName(t.getClass().getName());//完整类名
Method getData = apiServceiClass.getDeclaredMethod(methodName,String.class,String.class);//获得私有方法
getData.setAccessible(true);//调用方法前,设置访问标志
return ((Observable<ResponseBody>) getData.invoke(t,params)).subscribeOn(Schedulers.newThread()).observeOn(AndroidSchedulers.mainThread());
} catch ( Exception e) {
e.printStackTrace();
}
return null;
}
网友评论