Retrofit response body 有时报错,有时成功

Retrofit response body sometimes error, but sometimes success

我在 post 一些数据时遇到一些错误。

我的应用程序可以注册一个新用户,将注册数据发送到服务器,然后 return 结果。

注册成功后的结果

{
   "res": "success"
}

注册失败的结果

{
   "res": "customer id not found"
}

这是我的 post 数据

代码
Register register = new Register(nameStr, emailStr, phoneStr, passStr, rePassStr,customerIDStr );
    Call<ResultRegister> call = apiInterface.registration(register);
    call.enqueue(new Callback<ResultRegister>() {
        @Override
        public void onResponse(Call<ResultRegister> call, Response<ResultRegister> response) {
            String responseString;
            responseString = response.body().getRes();
            if(responseString.equalsIgnoreCase("success")){

                Toast.makeText(getActivity(), "Register Success", Toast.LENGTH_SHORT).show();

                Fragment fragment = new LoginFragment();
                FragmentManager fragmentManager = getFragmentManager();
                fragmentManager.beginTransaction().replace(R.id.wrap_login_container, fragment)
                        .addToBackStack(null).commit();
            }else{
                Toast.makeText(getActivity(), "Register Failed", Toast.LENGTH_SHORT).show();
            }
        }

        @Override
        public void onFailure(Call<ResultRegister> call, Throwable t) {
            t.printStackTrace();
            call.cancel();
            Toast.makeText(getActivity(), "Please check your network connection and internet permission", Toast.LENGTH_LONG).show();
        }
    });

如果注册return成功,一切都很好,但是如果注册return错误,出现空指针异常,指向这一行:

responseString = response.body().getRes();

编辑

这是我的 ResultRegister class

public class ResultRegister {
@SerializedName("res")
String res;

public String getRes() {
    return res;
}

public void setRes(String res) {
    this.res = res;
}

}

有解决办法吗??

我的问题已经解决了。主要问题是当注册失败时,错误代码是500(内部错误服务器)。所以 response.body()null.