私はLoganSquareでRetrofit2を試しています.カスタムエラーを処理しようとすると、エラーが表示されますクラスのResponseBodyコンバーターが見つかりませんでした.
私のエラーユーティリティクラス
public class ErrorUtils {
public static APIError parseError(Response<?> response) {
Converter<ResponseBody, APIError> converter = RestClient.retrofit().responseBodyConverter(APIError.class, new Annotation[0]);
APIError error;
try {
error = converter.convert(response.errorBody());
} catch (IOException e) {
return new APIError();
}
return error;
}
}
カスタム エラー クラス
public class APIError {
private int statusCode;
private String message;
public APIError() {
}
public int status() {
return statusCode;
}
public String message() {
return message;
}
}
私の休息 restAdapter
restAdapter = new Retrofit .Builder()
.baseUrl(ROOT)
.client(httpClient.build())
.addConverterFactory(LoganSquareConverterFactory.create())
.build();
error.message() を表示しようとすると、ResponseBody コンバーターが見つかりませんでした。Gson で正常に動作しています。
APIError error = ErrorUtils.parseError(response);
Log.d("error message", error.message());