I use Retrofit 2.0.2 and I can't get error body json and convert it. Here my code:
public RestClient() {
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
apiInterface = retrofit.create(ApiInterface.class);
}
@FormUrlEncoded
@POST("users/login")
Call<Person> login(@FieldMap Map<String, String> map);
private void login(Map<String, String> map) {
Call<Person> call = restClient.getApiInterface().login(map);
Log.d("Login_call", call.request().toString());
call.enqueue(new Callback<Person>() {
@Override
public void onResponse(Call<Person> call, Response<Person> response) {
Log.d("Login_call", response.isSuccessful() + " " + response.message());
if (response.isSuccessful()) {
Log.d("Login_call", response.body().toString());
//editor.putString("user", new Gson().toJson(response.body()));
//editor.apply();
}
else {
Log.d("Login_call", response.errorBody().toString());
}
}
@Override
public void onFailure(Call<Person> call, Throwable t) {
Log.d("Login_call_fail", "Fail");
}
});
}
and here my Logs:
05-11 17:54:09.961 2606-2606/ D/Login_call: false Bad Request
05-11 17:54:09.961 2606-2606/ D/Login_call: okhttp3.ResponseBody$1@41ef0e18
How to solve this?