Retrofit вызывает метод fail (), даже если код состояния заголовков 200

Я использую модификацию для моего бэкэнд-сообщения, а ниже – фрагмент моего модифицированного вызова:

serverObject.createEvent(Utils.getAuthHeader(), params, new Callback<CreateEventResponse>() { @Override public void success(CreateEventResponse outputObj, retrofit.client.Response response) { Log.d(TAG, outputObj.getTitle() + " is successfully created."); setResult(Activity.RESULT_OK); finish(); } @Override public void failure(RetrofitError retrofitError) { //Header status code Log.e("failure", String.valueOf(retrofitError.getResponse().getStatus())); Log.e("failure", String.valueOf(retrofitError.getResponse().getBody())); } }); 

Вышеприведенный код печатает это в Logcat:

 04-16 16:26:11.751 25131-25131/com.android.myapp.app E/failure﹕ 200 04-16 16:26:11.751 25131-25131/com.android.myapp.app E/failure﹕ null 

Кто это возможно?

Может ли какой-нибудь орган помочь, почему это происходит.

Также я установил setLogLevel(RestAdapter.LogLevel.FULL); И поэтому я могу видеть все значения в моем логарифме. Мой ответ исправляется с сервера, но почему вызвана ошибка () ?

Пожалуйста помоги!

Заранее спасибо.

Вероятно, модификация вызывает исключение, которое вызывает метод отказа. Использование:

 retrofitError.getCause() 

Или сделать некоторую отладку. Вы регистрируете обратный вызов с помощью CreateEventResponse, поэтому, когда тело равно null, вы могли бы поймать исключение синтаксического анализа.

Intereting Posts