Так что я использую модификацию для выполнения своих вызовов API, и у меня есть эта конечная точка, которая возвращает ошибку (которая является желаемым ответом), когда я пытаюсь использовать свой конвертер для включения ответа .errorBody() в мой объект java Ошибка, он возвращает новый объект Error, но его поля равны нулю.Error Converter возвращает объект с нулевыми значениями
Вот мой объект Error Класс:
public class Error {
private final String message;
private final Object objectError;
public Error(String message, Object objectError) {
this.message = message;
this.objectError = objectError;
}
public String getMessage() {
return message;
}
public Object getObjectError() {
return objectError;
}
}
Вот мой метод нейтрализатор:
public static Error parseError(Response<?> response) {
Converter<ResponseBody, Error> converter = ApiClient.retrofit().responseBodyConverter(Error.class, new Annotation[0]);
Error error;
try {
error = converter.convert(response.errorBody());
} catch (IOException e) {
return new Error("Connection Error", null);
}
return error;
}
И мой ответ JSON выглядит хорошо:
{"status":"error",
"error":{"message":"# is an invalid character",
"objectError":"# is an invalid character"}}
Можете ли вы помочь мне узнать что происходит?
Массивное спасибо!
В качестве примечания ** очень сильно избегайте ** названия вашего класса 'Error', поскольку он конфликтует с' java.lang.Error'. Префикс это как-то. – chrylis
Спасибо за совет @chrylis, но я только назвал его так, как в сообщении. На самом деле у меня есть другое имя в моем коде. – Jpfcan