OkHttp v3 以降では、OkHttpClient は不変であり、インターセプターのリストも同様です。
Retrofit 2.0-beta3 以降では、OkHttp v3 に依存します。
私のアプリでは、「a=1&b=2&c=3」形式の Google アナリティクス キャンペーン リファラー キーを解析し、それを追加してリクエスト URL にサインアップする必要があります。
以前のバージョンのレトロフィットでは、追加するだけで簡単に実行できました
retrofit.client().interceptors().add(0, chain -> {
final Request httpRequest = chain.request();
return chain.proceed(httpRequest.newBuilder().url(httpRequest.httpUrl().toString() + "&" + request.getUtmParams()).build());
});
呼び出しを実行する前に
retrofit.client().interceptors().remove(0);
コール後、続行します。
新しいバージョンで同じ動作を実現する方法がわかりません。助けてください。
UPD 1. 目標は、単一のリクエストのリクエスト URL を制御することです。最後に文字列を追加することは単なる例です。@QueryMap の使用はオプションですが、回避しようとしているパラメーター文字列の解析が必要です。