Retrofit 包含公共的请求参数怎么写

在一个项目的很多个retorfit接口中,都要带上一些公共的参数用于日志记录、统计分析等,比如设备信息、版本号、包名等参数。

除了在每一个retrofit接口上手动写一遍以外,有没有封装型的写法?

阅读 5.4k
5 个回答
新手上路,请多包涵

好像自定义OkhttpClient的拦截器可以做得到

可以添加统一个header

    builder.addInterceptor(new Interceptor() {
        @Override
        public Response intercept(Chain chain) throws IOException, java.io.IOException {
            Request request = chain.request().newBuilder()
                    .addHeader("Source", "android")
                    .addHeader("Accept", "application/json,text/javascript,*/*")
                    .build();
            return chain.proceed(request);
        }
    });

拦截器是你需要的。

使用okhttp的interceptor

推荐问题
宣传栏