でそれを書いてみるさて、ここで私達は行きます。
まず、OkHTTPクライアントをビルドし、オブジェクトを改造します。
OkHttpClient client = httpBuilder
.addNetworkInterceptor(INTERCEPTOR_REQUEST_ADD_CHECKSUM)
.build();
Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.client(client)
.baseUrl("https://my.domain.com")
.build();
はその後、あなたはあなたのインターセプタを定義する必要があります。
private static final Interceptor INTERCEPTOR_REQUEST_ADD_CHECKSUM = new Interceptor() {
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
HttpUrl url = chain.request().url();
String param1 = url.queryParameter("param1");
String param2 = url.queryParameter("param2");
String chk = aMethodToComputeChecksum(param1,param2);
url = url.newBuilder().addQueryParameter("checksum", chk).build();
Request request = chain.request().newBuilder().url(url).build();
return chain.proceed(request);
}
まず、私はあなたによく理解している場合を見てみましょう。私にとっては、HTTP引数から動的にチェックサムを計算しようとしています。次に、このチェックサムをHTTP引数として追加します。あれは正しいですか ? – Gordak
@Gordak正確には、それは私が意味することです – Qin