POST呼叫改造未完成

时间:2018-11-07 11:12:54

标签: java android retrofit2

我正在尝试使用翻新电话。但是呼叫尚未完成,并且返回成功时没有响应。

public interface ApiInterface {

    @POST("newUserInitialDetail")
    Call<Response> setBankerInitialDetail(@Body EFueBanker eFueBanker);

}

我的实现方式为

EFueBanker eFueBanker= SingletonStorage.geteFueBanker();
eFueBanker.setGstno(gstno.getText().toString());
eFueBanker.setNoc(Integer.parseInt(noc.getText().toString()));
mApiInterface= ApiClient.getApiClient().create(ApiInterface.class);
Call<com.shaby.efueprovider.dao.Response> call= mApiInterface.setBankerInitialDetail(eFueBanker);

                call.enqueue(new Callback<com.shaby.efueprovider.dao.Response>() {
                    @Override
                    public void onResponse(Call<com.shaby.efueprovider.dao.Response> call, Response<com.shaby.efueprovider.dao.Response> response) {
                        try {
                            com.shaby.efueprovider.dao.Response response1 = response.body();
                            if (response1.getStatus() == 200) {
                                Intent mainIntent = new Intent(getContext(), MainActivity.class);
                                startActivity(mainIntent);
                                getActivity().finish();
                            }
                        }
                        catch (Exception e){
                            Toast.makeText(getContext(), e.getMessage() + "", Toast.LENGTH_SHORT).show();
                        }
                    }

                    @Override
                    public void onFailure(Call<com.shaby.efueprovider.dao.Response> call, Throwable t) {

                    }
                });
            }
        });

从以下电话中我总是收到敬酒响应

  

我无法访问空值的getStatus()

但是有趣的是,我有另一个邮寄电话,在这里我要发送另一个不同类的对象,并且工作正常。还有另一件事,当我没有将eFueBanker作为参数传递时,调用将成功进行。

1 个答案:

答案 0 :(得分:0)

您可以在没有分配的情况下检查响应代码

com.shaby.efueprovider.dao.Response response1 = response.body();

您可以像这样检查

if (response.code() == 200) {
   Intent mainIntent = new Intent(getContext(), MainActivity.class);
   startActivity(mainIntent);
   getActivity().finish();
}