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 = new Retrofit .Builder()
                .baseUrl(ROOT)
                .client(httpClient.build())
                .addConverterFactory(LoganSquareConverterFactory.create())
                .build();

当我尝试打印 error.message() 时,它的显示找不到 ResponseBody 转换器。它与 Gson 一起工作正常。让我知道在使用 LoganSquare 时需要添加任何额外的东西

                APIError error = ErrorUtils.parseError(response);
                Log.d("error message", error.message());
4

0 回答 0