在Ion Response中添加更多类型

时间:2017-01-10 15:16:44

标签: android json types ion ion-koush

使用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>> {}

或其他什么?

非常感谢。

1 个答案:

答案 0 :(得分:0)

User类中以另一种方式扩展Pet类,并使用FutureCallback中的基类。然后投射到以后需要的任何课程。