Adding header to all request with Retrofit 2

前端 未结 10 1425
北荒
北荒 2020-11-29 17:46

Retrofit 2\'s documentation says:

Headers that need to be added to every request can be specified using an OkHttp interceptor.

I

10条回答
  •  南笙
    南笙 (楼主)
    2020-11-29 18:06

    In my case addInterceptor()didn't work to add HTTP headers to my request, I had to use addNetworkInterceptor(). Code is as follows:

    OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
    httpClient.addNetworkInterceptor(new AddHeaderInterceptor());
    

    And the interceptor code:

    public class AddHeaderInterceptor implements Interceptor {
        @Override
        public Response intercept(Chain chain) throws IOException {
    
            Request.Builder builder = chain.request().newBuilder();
            builder.addHeader("Authorization", "MyauthHeaderContent");
    
            return chain.proceed(builder.build());
        }
    }
    

    This and more examples on this gist

提交回复
热议问题