我正在使用 robospice、spring 和 jackson 开发一个 android 应用程序。一切正常,除了缓存结果没有 POJO 类的关系。
例如;
public class User extends SampleBase {
public int id;
public String name;
public Address address;
}
public class Address extends SampleBase {
public int id;
public String street;
public String city;
}
public class SampleBase {
// Base class of all POJO classes
}
当我发送获取用户的请求时,我会正确获取所有值。但是,当我尝试从缓存中获取用户时,地址字段返回 null。如果两个类之间存在关系,则这些关系字段为空,但其他字段正常。
请求结果:
User:
id: 1
name: "Test User"
address: Address Object
缓存结果:
User:
id: 1
name: "Test User"
address: null
在我的设计中,所有 POJO 类都扩展了 SampleBase。而且只有一个RequestListener:
public class SampleRequestListener implements RequestListener<SampleBase> {
@Override
public void onRequestSuccess(SampleBase result) {
// Some operations
}
@Override
public void onRequestFailure(SpiceException e) {
// Some operations
}
}
我不知道这是否与我的请求侦听器有关,但这在发送请求时可以正常工作。我应该做些什么来获取缓存对象的相关对象吗?