使用Koush的Ion
,我需要发出JSON
请求,直接投放到type
,这样:
public interface UserCallback extends FutureCallback<Response<User>> {}
Builders.Any.B builder;
TypeToken<User> userType = new TypeToken<User>() {}
void userRequest(Context ctx, UserCallback callback) {
builder = Ion.with(context).load("GET", "https://myendpoi.nt/");
builder.as(userType).withResponse().setCallback(callback);
}
userRequest(getApplicationContext(),
new UserCallback() {
@Override
public void onCompleted(Exception ex, Response<User> result) {
// Cast my spell with User object...
}
});
问题是:有时服务器响应JSON
无法反映在User
类中,但需要进入另一个对象(例如Pet.class
)。
嗯,我知道我可以将响应作为通用JsonObject
并随后投射,但我的问题是:有更优雅的方法来做到这一点?可以在Response
中添加2 FutureCallback
吗?所以我可以做这样的事情:
public interface UserCallback extends FutureCallback<Response<User>, Response<Pet>> {}
或其他什么?
非常感谢。
答案 0 :(得分:0)
在User
类中以另一种方式扩展Pet
类,并使用FutureCallback
中的基类。然后投射到以后需要的任何课程。