25

短時間のネットワーク呼び出しには Square の Retrofit ライブラリを使用しています。@Queryすべてのリクエストにパラメーターとして含めるデータがいくつかあります。そのようです:

@GET("/thingOne.php")
void thingOne(
        @Query("app_version") String appVersion,
        @Query("device_type") String deviceType,
        Callback<Map<String,Object>> callback
);

@GET("/thingTwo.php")
void thingTwo(
        @Query("app_version") String appVersion,
        @Query("device_type") String deviceType,
        Callback<Map<String,Object>> callback
);

で概説されているすべてのエンドポイントに対してappVersionとを定義する必要があるのは面倒です。すべてのリクエストに含める必要があるパラメータの基本セットを設定する方法はありますか? コモンを設定する方法に似たもの?deviceTypeInterfaceAuthorization Header

RestAdapter restAdapter = new RestAdapter.Builder()
    .setServer("...")
    .setRequestHeaders(new RequestHeaders() {
        @Override
        public List<Header> get() {
            List<Header> headers = new ArrayList<Header>();
                Header authHeader = new Header(
                    "Authorization", "Bearer " + token);
                headers.add(authHeader);
            }
            return headers;
        }
    })
    .build();
this.service = restAdapter.create(ClientInterface.class);
4

1 に答える 1