4

私は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());
4

0 に答える 0