2016-05-21 4 views
1

Jungs bitte versuchen, von nachrüsten 1 bis nachrüsten 2, aber ich habe es schwer, einen Anfrage Interceptor für alle Anfragen hinzuzufügen. In nachrüsten 1, erreichte ich es, indem Sie so etwas tun;Nachrüstung2: Hinzufügen von 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); 
} 

aber ich kann nur den Kopf bekommen, um diesen in Retrofit 2 ... Bitte hat jemand eine Lösung für mein Problem?

Antwort

0

In Ihrer Abhängigkeit Block hinzu:

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

In Ihrer Retrofit Serviceklasse add:

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

dann hinzufügen:

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

schön i it a try –

+0

@ DhãtDhøpëBwøūyÇüzzy geben , Kann ich Ihnen auch helfen, Stetho Interzeptoren zu verwenden. Gib mir Bescheid. –

+0

ok ich werde dich wissen lassen, nachdem ich dies –