В сети уже есть фрагменты кода, которые показывают, как это должно работать. Например, 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
Аннотация также как параметр. Поддержка отменена?
Можете ли вы подтвердить, что значение куки не пустой/пустой? –
да; если это так, это причина отсутствия заголовка? | по первому запросу он пуст, но не на втором (который ждет первого) – rala
Если он пуст, я считаю, что он все равно должен появиться на выходе перехватчика регистрации. Исключение составляет Null. Ожидаете ли вы, чтобы он был установлен с первым запросом? –