2016-04-07 3 views
1

В сети уже есть фрагменты кода, которые показывают, как это должно работать. Например, this.retrofit 2.0.1 добавить заголовок cookie не работает

Мой код не работает; и я также ищу версию для отправки заголовка Cookie динамически (я имею в виду только по конкретным запросам - логин не требует этого).

Так что мой код:

HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); 
logging.setLevel(HttpLoggingInterceptor.Level.BODY); 
OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); 
httpClient.addInterceptor(logging); 
// header 
// httpClient.addInterceptor(chain -> cookie != null ? chain.proceed(chain.request().newBuilder().addHeader("Set-Cookie", cookie).build()) : chain.proceed(chain.request())); 
httpClient.addInterceptor(chain -> chain.proceed(chain.request().newBuilder().addheader("Cookie", cookie).build())); 

Retrofit retrofit = new Retrofit.Builder().baseUrl(url) 
     .addConverterFactory(GsonConverterFactory.create()) 
     .client(httpClient.build()) 
     .build(); 

Я не получаю этот заголовок в моем журнале!

--> POST [link] http/1.1 
Content-Type: application/json; charset=UTF-8 
Content-Length: 125 

{// response object 

Мои запросы сами по себе являются модифицированными основаниями; просто интерфейс с параметрами ... ничего особенного, где я мог бы что-то изменить, я не должен исправлять эту ошибку.

Есть ли идеи? И как я могу сделать его динамичным? С линией комментариев?

Я читал, что модифицированный поддерживал @Header Аннотация также как параметр. Поддержка отменена?

+0

Можете ли вы подтвердить, что значение куки не пустой/пустой? –

+0

да; если это так, это причина отсутствия заголовка? | по первому запросу он пуст, но не на втором (который ждет первого) – rala

+0

Если он пуст, я считаю, что он все равно должен появиться на выходе перехватчика регистрации. Исключение составляет Null. Ожидаете ли вы, чтобы он был установлен с первым запросом? –

ответ

0

при модернизации 2.1. + @Header аннотаций работает отлично

Смежные вопросы