我正在尝试解析出现问题时发送的服务器消息。消息以 JSON 格式发送:
{
"Message" : "readable reason",
"Id" : 0, // reason code
}
错误模型类:
public class RetrofitError
{
private String message;
private int id;
}
使用以下代码创建改造:
RestAdapter.Builder builder = new RestAdapter.Builder();
builder.setLog(new AndroidLog(LOG_TAG));
builder.setLogLevel(LogLevel.FULL);
builder.setEndpoint(Constants.getUrl());
builder.setRequestInterceptor(requestInterceptor);
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
gsonBuilder.setPrettyPrinting();
Gson gson = gsonBuilder.create();
builder.setConverter(new GsonConverter(gson));
RestAdapter restAdapter = builder.build();
以及检索错误:
RetrofitError error = (RetrofitError)retrofitError.getBodyAs(RetrofitError.class)
它毫无例外地工作,所以我似乎在做正确的事情。但它总是无法解析响应中的两个字段。Retrofit 只创建一次,它成功地检索和解析所有服务器响应,但错误除外。
我正在使用最新可用的 Retrofit jar - 1.4.1
我究竟做错了什么?