Android OnFailure方法在使用2时始终被调用

Android OnFailure方法在使用2时始终被调用,android,retrofit2,Android,Retrofit2,发送到服务器会返回下面的JSON { "response":{ "id":20, "firstname":"name", "lastname":"name", "email":"email", "gender":"male" }, "status":"CREATED", "message":"Success", "error":null } 我无法使用改型从我的原生andro

发送到服务器会返回下面的JSON

{
    "response":{
        "id":20,
        "firstname":"name",
        "lastname":"name",
        "email":"email",
        "gender":"male"
    },
    "status":"CREATED",
    "message":"Success",
    "error":null
}
我无法使用改型从我的原生android应用程序中解析此结果,改型的
onFailure
方法始终被调用,我确信请求会发送到服务器,因为会向上面JSON中的电子邮件地址发送电子邮件

我使用此方法调用服务器

private void pushRegDetailsToServer(RegistrationDetails newRegistration){
    RegistrationService registrationService = ServiceBuilder.builderService(RegistrationService.class);
    Call<Registration> createRequest = registrationService.registerUser(newRegistration);

    createRequest.enqueue(new Callback<Registration>() {
        @Override
        public void onResponse(Call<Registration> call, Response<Registration> response) {
            Response obj = Objects.requireNonNull(response.body()).getResponse();


        }

        @Override
        public void onFailure(@NonNull Call<Registration> call, @NonNull Throwable t) {
            Toast.makeText(getActivity(), getResources().getString(R.string.registration_failed), Toast.LENGTH_LONG).show();
        }
    });
}
这是我的反应课

public class Response {

    @SerializedName("firstname")
    private String firstname;
    @SerializedName("lastname")
    private String lastname;
    @SerializedName("email")
    private String email;

}

onFailure
方法中的
throwable
说明了什么?使用
Log.e(“error”,t)记录错误消息内部
onFailure()
方法,而不是显示简单的Toast。在这之后,回答问题并在这里添加堆栈跟踪。
public class Registration {

    @SerializedName("response")
    private Response response;
    @SerializedName("status")
    private String status;
    @SerializedName("message")
    private String message;
    @SerializedName("error")
    private String error;

}
public class Response {

    @SerializedName("firstname")
    private String firstname;
    @SerializedName("lastname")
    private String lastname;
    @SerializedName("email")
    private String email;

}