Обработка различных ответов в дооснащении2 - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть Api, который возвращает два разных ответа.

В случае успеха ответ - -

{status="", message="", token="", subscription_active=""}

В случае ошибки - - 1006 *

{
    "status": "failed",
    "message": "",
    "errors": []
}

Вот способ обработки данных -

 Call<Object> call = jsonApi.hitOtp(otpPost);

       call.enqueue(new Callback<Object>() {
            @Override
            public void onResponse(Call<Object> call, Response<Object> response) {
                Log.d(TAG, "onResponse: "+response.body());

                if(response.body() instanceof OtpSuccessResponse){
                     Toast.makeText(OtpActivity.this, otpSuccRes.getMessage(), Toast.LENGTH_SHORT).show();
                }else{
                    Toast.makeText(OtpActivity.this,"Failed", Toast.LENGTH_SHORT).show();
                }
            }

            @Override
            public void onFailure(Call<Object> call, Throwable t) {
                Log.d(TAG, "onFailure: "+t.getMessage());
            }
        });

Я получаю ответ об успешном выполнении в журнале, но условие if не работает. Вместо этого я получаю -

 java.lang.ClassCastException 


com.google.gson.internal.LinkedTreeMap cannot be cast to 
com.avaskm.yellowalleyproject.Retrofit.Otp.OtpSuccessResponse

Мой класс PoSuccess OnSuccess -

public class OtpSuccessResponse {


   @SerializedName("status")
   @Expose
   private String status;
   @SerializedName("message")
   @Expose
   private String message;
   @SerializedName("token")
   @Expose
   private String token;

   @SerializedName("subscription_active")
   @Expose
   private String subscriptionActive;

   public OtpSuccessResponse(String status, String message, String token, String subscriptionActive) {

      this.status = status;

      this.message = message;

      this.token = token;

      this.subscriptionActive = subscriptionActive;
   }


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...