2016-05-21 35 views
1

伙计们请尝试从改造1改为改造2但我很难为所有请求添加请求拦截器。 在改造1,我通过做这样的事情来实现它;改造2:添加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

在你的依赖块添加:

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

在你Retrofit服务类插件:

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

不错我会试试看 –

+0

@DhãtDhøpëBwøūyÇüzzy ,我也可以帮助你使用Stetho拦截器。让我知道。 –

+0

好的,我会让你知道我试过这个 –