我正在使用LoganSquare尝试Retrofit2。当我尝试处理自定义错误时,它显示错误无法找到类的ResponseBody转换器。
My Error Utils类
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 converter.its与Gson.let正常工作我知道需要在使用LoganSquare时添加任何额外内容
APIError error = ErrorUtils.parseError(response);
Log.d("error message", error.message());