Модифицированный Android добавить заголовок, а также HttpLoggingInterceptor - PullRequest
0 голосов
/ 15 октября 2018

В настоящее время я изучаю модернизацию в Android:

, и это мой текущий код:

 HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
        interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);


       OkHttpClient client = new OkHttpClient.Builder().addInterceptor(new Interceptor() {
        @Override
        public okhttp3.Response intercept(Chain chain) throws IOException {

            Request newRequest  = chain.request().newBuilder()
                    .addHeader("Authorization", "Bearer " + Globals.BEARER_TOKEN)
                    .build();
            return chain.proceed(newRequest);
        }
    }).build();

Как я могу добавить мой HttpLoggingInterceptor к клиенту, а также одновременно добавитьмой заголовок клиенту?

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Вы можете добавить оба перехватчика, дважды вызывая метод addInterceptor:

HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
    interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);

OkHttpClient client = new OkHttpClient.Builder()
    .addInterceptor(new Interceptor() {
        @Override
            public okhttp3.Response intercept(Chain chain) throws IOException {
                Request newRequest = chain.request().newBuilder()
                    .addHeader("Authorization", "Bearer " + Globals.BEARER_TOKEN)
                    .build();
                return chain.proceed(newRequest);
            }
        })
   .addInterceptor(interceptor).build();
0 голосов
/ 15 октября 2018

Чтобы добавить перехватчик в Retrofit, вы включаете его при создании OkHttpClient,

OkHttpClient client = new OkHttpClient.Builder()
            .addInterceptor(new HttpLoggingInterceptor())

Затем вы создаете Retrofit с помощью этого клиента,

Retrofit.Builder builder = new Retrofit.Builder()
                .client(client);

Retrofit retrofit = builder.build();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...