我正在使用改造进行后端通信,并在其下方使用我的改装电话的片段:
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);
,所以我可以看到我的logcat中的每个值。
我的回复来自服务器,但为什么失败()被调用?
请帮忙!
提前致谢。
答案 0 :(得分:10)
可能改装会抛出一个调用失败方法的异常。使用:
retrofitError.getCause()
或进行一些调试。 您使用CreateEventResponse注册回调,因此当body为null时,您可能已经捕获了解析异常。