Call<LoginResponse> call = apiService.register(email, mob);
call.enqueue(new Callback<LoginResponse>() {
@Override
public void onResponse(Call<LoginResponse> call, Response<LoginResponse> response) {
if(response.code()==200){
Gson gson = new Gson();
LoginResponse phoneLoginResponse = response.body();
String sPhoneLoginRes = gson.toJson(phoneLoginResponse, LoginResponse.class);
Log.d(TAG, "JSON RESPONSE IS" + sPhoneLoginRes);
}else if(response.code()==401){
//here i want to show below Response
Gson gson = new Gson();
ErrorResponse errorResponse = response.body();
String sPhoneLoginRes = gson.toJson(errorResponse.toString(), LoginResponse.class);
Log.d(TAG, "JSON RESPONSE IS" + sPhoneLoginRes);
}else if(response.code()==400){
Toast.makeText(SignUpActivity.this, "Somethign went Wrong", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(Call<LoginResponse> call, Throwable t) {
}
});
这是我的401响应,当我尝试提交表单时,我需要获取下面的对象,所以我使用ErrorResponse Class.But响应我得到的是Null.Please帮助我。如何在Retrofit2的onResponse中映射另一个可序列化的类。
{
"message": "string",
"errors": [
"string"
]
}
我使用Retrofit2.0
你可以提倡这些东西或程序化的方法将不胜感激!谢谢 –
为了得到原始的JSON,使用'response.errorBody()。string()'。从那里完全取决于你。 – Kiskae
我应该把它映射到任何类吗?像LoginResponse res = response.errorBody()。toString()。 –