2016-04-07 9 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 Annotationをサポートしています。サポートのキャンセル?改造2.1で

+0

正常に動作し、あなたのクッキーの値が空/ nullでないことを確認することができますか? –

+0

はい;そうであれば、これはヘッダーがない理由ですか? |最初のリクエストでは空ですが、2番目のリクエストではありません(最初のリクエストを待っています) – rala

+0

空であれば、ロギングインターセプタの出力に表示されるはずです。 Nullは例外を引き起こします。最初のリクエストでそれが設定されることを期待していますか? –

答えて

0

。+ @Header注釈が

関連する問題