0

IonKoushを使用して、次のよう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>> {}

または、他の何か?

どうもありがとう。

4

1 に答える 1

0

クラスまたは他の方法Userでクラスを拡張し、基本クラスを使用します。次に、後で応答して必要なクラスにキャストします。PetFutureCallback

于 2017-01-10T15:21:35.163 に答える