Войти через два интерфейса с Retrofit - PullRequest
1 голос
/ 04 апреля 2019

У меня есть два интерфейса, которые не имеют одинаковые атрибуты и которые мне нужны для входа в систему с помощью Retrofit.Как реализовать другой интерфейс, чтобы использовать ту же кнопку?Я хочу использовать этот метод входа в систему для обоих интерфейсов IEnfant и IAssistant:

button.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v) {


           IEnfant iEnfant= APIClient.getClient().create(IEnfant.class);


           iEnfant.login(editText1.getText().toString(),editText2.getText().toString()).enqueue(new Callback<Enfant>() {
                @Override
                public void onResponse(retrofit2.Call<Enfant> call, Response<Enfant> response) {
                    Toast.makeText(getApplicationContext(),"enfant"+response.body().getNom(),Toast.LENGTH_LONG).show();

                    startActivity(new Intent(getApplicationContext(), CategoriesActivity.class));
                }

                @Override
                public void onFailure(retrofit2.Call<Enfant> call, Throwable t) {
                    Toast.makeText(getApplicationContext(),"'error",Toast.LENGTH_LONG).show();
                    Log.v("tag!!!!!!!!!!","error"+t.getMessage());

                }
            });

Я имею в виду, мне нужно сделать много обратных вызовов в одном действии, это возможно?вот мои два интерфейса:

public interface IEnfant {
   @GET ("api/eLogin")
   Call<Enfant> login (@Query("username") String username, @Query("mot_de_passe")  String motDePasse);

}

public interface IAssistant {
   @GET ("api/aLogin")
   Call<Assistant> login (@Query("username") String username, @Query("mot_de_passe")  String motDePasse);

}
...