public void getData(HashMap<String, Object> parameters, final ApiCallback callback) {
apiInterface.UserLogin(parameters).enqueue(new Callback<UserModel>() {
@Override
public void onResponse(Call<UserModel> call, Response<UserModel> response) {
Log.e("리스폰스 : ", response.body().toString());
if (response.isSuccessful()) {
callback.onSuccess(response.code(), response.body());
} else {
callback.onFailure(response.code());
}
}
@Override
public void onFailure(Call<UserModel> call, Throwable t) {
Log.e("온에러", t.toString());
callback.onError(t);
}
});
}
현재 apiInterface를 불러오는 부분에서 UserLogin 을 선언해준 부분만 바뀌고 (rest요청주소 때문)
나머지가 모두 동일할 때, 저 UserLogin 부분만 변수화 한다던지 getData를 호출할때
인자값으로 제어해서 바꿔줄 방법이 없을까요?
인터페이스 이름만 바뀌고 나머지가 동일한 코드가 엄청 많아질거 같은데 방법이 없을런지요,
(method reflection invoke 부분을 알아봤는데 인터페이스와 콜백까지 끼니 도저히 시도할 엄두가 안나네요ㅠ)