2016-04-07 13 views
1

Ağda zaten bazı kod parçacıkları var, bu da 'un çalışma şeklini gösteriyor. Örneğin, this bir.retrofit 2.0.1 çalışma bilgisi içermeyen çerez başlığı ekleme

Kodum çalışmıyor; ve ayrıca Cookie üstbilgisini dinamik olarak göndermek için bir sürüm arıyoruz (yalnızca belirli isteklerde demek istiyorum - giriş gerektirmez).

Yani benim kod:

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(); 

benim günlüğünde bu başlığı almıyorum!

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

{// response object 

İsteklerimin kendisi güçlendirme temelidir; sadece parametreleri olan bir arabirim ... özel bir şeyi değiştirebileceğim hiçbir şey bu hatayı düzeltmemem gerekiyor.

Herhangi bir fikri olan var mı? Ve nasıl dinamik yapabilirim? Yorum satırı ile mi?

Okudum, bu güçlendirme parametre olarak @Header Ek Açıklama'yı da destekledi. Destek iptal edildi mi? Sonradan montaj 2.1. + @Header açıklama en

+0

çalışıyor? –

+0

evet; öyleyse, üstbilginin nedeni bu mu? | İlk istekte boş, ama ikinci değil (hangisini bekliyor) – rala

+0

Eğer boşsa, logging interceptor çıkışında hala görünmesi gerektiğine inanıyorum. Boş bir istisna neden olur. İlk istekle ayarlanmasını bekliyor musunuz? –

cevap

0

Eğer çerez değeri null/boş olmadığını teyit edebilir

İlgili konular