私のサーバーのような、すべての要求のための基本的なJSONの構造体を返します。success
が真または偽とすることができ、データはアプリが必要になる場合がありますデータへerrors
から、物事の数を返すことができRetrofitでエラーを処理する方法は?
{
"success": false,
"data": {
"errors": {
"email": [
"This is not an email."
],
"password": [
"The password must be at least 6 characters."
]
}
}
}
。
Retrofitを使用してこの応答(成功とエラーの両方)を処理するにはどうすればよいですか?
Retrofit APIコールを変更/追加する必要があるのは何ですか?
Call<BasicResponse> call = apiService.login(emailString, passwordString);
call.enqueue(new Callback<BasicResponse>() {
@Override
public void onResponse(Call<BasicResponse> call, Response<BasicResponse> response) {
//
}
@Override
public void onFailure(Call<BasicResponse> call, Throwable t) {
//
}
});
'onFailure'コールバックが受け入れるエラーコードは何ですか?今のところ私のサーバはエラーがあれば '400'で応答しますが、' onResponse'コールバックで処理します。 –
私は謝罪しましたが、2x http以外のすべてのステータスに対して "onFailure"を呼び出すという印象を受けましたが、実際には "onResponse"を呼び出します。実際に通話を成功させるので、すべてのステータスコードに対してこれを行います。私は私の答えを編集します。 – Fred