所以我正在使用改造来执行我的API调用,当我尝试使用我的转换器将response.errorBody()转换为我的java时,我有这个返回错误的端点(这是所需的响应) object Error,它返回新的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"}}
你能帮我看看发生了什么吗?
非常感谢!
答案 0 :(得分:0)
我最后通过创建另一个具有status字段和错误字段的类来解决它,并在转换器中使用了那个,该类中的错误字段就是上面那个。