我正在尝试使用 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());