2016-09-19 6 views
1

나는이 tutorialRetrofit2 : 인터셉터

문제로 모든 요청에 ​​쿼리 매개 변수 (액세스 토큰)을 추가하기 위해 노력하고있어와 쿼리 매개 변수에 액세스 토큰을 추가하여 만든 모든 요청에 ​​발생합니다 카운트 인터셉터가 있습니다 ServiceGenerator :

httpClient.addInterceptor(new Interceptor() { 

는 또한 세션 객체의 원인은 정적, 모든 인터셉터는 필요하지 않습니다 요청에 실행됩니다.

정상적인 요청에 대해 소유하고 토큰 요청을 위해 소유 할 OkHttpClient를 만들어야합니까? 그리고 난 요격기와 인증기를 한 번만 초기화하고 ServiceGenerator를 사용해야합니까? 아니면 더 좋은 접근법이 있습니까?

+0

당신은 몇 가지 클라이언트를 만들 수 있습니다 또는 헤더를 추가 :

okHttpClient = new OkHttpClient.Builder() .cache(setCache(context)) .certificatePinner(certificatePinnerBuilder.build()) .retryOnConnectionFailure(false) .readTimeout(READ_TIMEOUT, TimeUnit.MILLISECONDS) .connectTimeout(CONNECTION_TIMEOUT, TimeUnit.MILLISECONDS) .addInterceptor(new Interceptor() { @Override public okhttp3.Response intercept(Chain chain) throws IOException { Request original = chain.request(); Request request = original.newBuilder() .header("Content-type", "application/json") .header("AUTH_TOKEN", token) .method(original.method(), original.body()) .build(); return chain.proceed(request); } }) .addInterceptor(logger) .build(); 

그러나,이 링크를 따라 할 수 있습니다 추가 장착 요청의 헤더 파일 –

답변

관련 문제