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

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

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

阅读 2.9k
评论 更新于 2016-11-09
    5 个回答
    lliuguangbo
    • 3
    • 新人请关照

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

    评论 赞赏 2016-11-09
      小谷xg
      • 1.9k

      可以添加统一个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);
              }
          });
      评论 赞赏 2016-11-10

        拦截器是你需要的。

        评论 赞赏 2016-11-11

          使用okhttp的interceptor

          评论 赞赏 2017-07-09
            评论 赞赏 2016-11-10
              撰写回答

              登录后参与交流、获取后续更新提醒