2016-05-21 5 views
1

改装1からretrofit 2にアップグレードしようとしていますが、すべてのリクエストに対してリクエストインターセプタを追加するのは苦労しています。 retrofit 1では、このようなことをすることで実現しました。retrofit2:RequestInterceptorを追加

public static <S> S createService(Class<S> serviceClass, final String token) { 
    RestAdapter.Builder builder = new RestAdapter.Builder() 
      .setEndpoint(Constant.APP_URL); 
    builder.setRequestInterceptor(new RequestInterceptor() { 
     @Override 
     public void intercept(RequestFacade request) { 
      request.addHeader("token", token); 
     } 
    }); 
    RestAdapter adapter = builder.build(); 

    return adapter.create(serviceClass); 
} 

しかし、私はちょうどカントは改造2にこのまわりで私の頭を取得...誰もが私の問題への解決策を持っていないしてください?あなたの依存関係で

答えて

0

追加ブロック:あなたのRetrofitサービスクラスの追加

compile 'com.squareup.okhttp3:logging-interceptor:3.2.0' 

を:

HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); 
    interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); 
    OkHttpClient client = new OkHttpClient.Builder() 
      .addInterceptor(interceptor) 
      .build(); 

その後、追加します。

素敵
Retrofit retrofit = new Retrofit.Builder() 
      .baseUrl(URL) 
      .client(client) // this is the line you care about 
      .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) 
      .addConverterFactory(JacksonConverterFactory.create()) 
      .build(); 
+0

を私はDhãtDhøpëBwøūyÇü[email protected]それを試し –

+0

を与えます私はStethoインターセプターも使うのを助けることができます。お知らせ下さい。 –

+0

okこれを試した後にお知らせします –

関連する問題