My problem is that when response is successful, i am getting response. But if response is not success, I am not getting any response in body, it's null. In case of any error like 404, 500 response is null. I am a beginner.
void sendMessage(){
String user_id = sessionManager.getPreferences(getActivity(), "user_id");
String message = binding.inputMessage.getText().toString();
String api_key = "954f011a-ab85-42e";
String secret_key = "v7FTQC&Cppbukk";
if (message.isEmpty()){
binding.inputMessage.setError("Please write your message");
binding.inputMessage.requestFocus();
}else {
binding.inputMessage.setError(null);
APIService service = RetrofitInstance.getRetrofitInstance().create(APIService.class);
Call<ContactUsModel> call = service.sendMessage(user_id, message, api_key, secret_key);
progressDialog.setMessage("Sending");
progressDialog.show();
call.enqueue(new Callback<ContactUsModel>() {
@Override
public void onResponse(Call<ContactUsModel> call, Response<ContactUsModel> response) {
progressDialog.dismiss();
ContactUsModel model = response.body();
if (response.code() == 201){
if (model.getSuccess() == 1){
binding.inputMessage.setText("");
Toast.makeText(getActivity(), model.getMessage(), Toast.LENGTH_SHORT).show();
}
}else{
//Toast.makeText(getActivity(), response.body().toString(), Toast.LENGTH_SHORT).show();
Log.e("responcebody" , response.body().toString());
}
}
@Override
public void onFailure(Call<ContactUsModel> call, Throwable t) {
progressDialog.dismiss();
Toast.makeText(getActivity(), t.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
}
My Model is below in which i am getting responce, parameters name are totally correct
package com.example.miinterest.model;
import com.google.gson.annotations.SerializedName;
public class ContactUsModel {
@SerializedName("success") private int success;
@SerializedName("message") private String message;
public int getSuccess() {
return success;
}
public void setSuccess(int success) {
this.success = success;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
And Api Call Method. I created a method and calling API from here
@FormUrlEncoded
@POST("addContactUsQuery")
Call<ContactUsModel> sendMessage(
@Field("user_id") String user_id,
@Field("message") String message,
@Header("api_key") String api_key,
@Header("secret_key") String secret_key
);