0
点赞
收藏
分享

微信扫一扫

Retrofit2+Okhttp3添加统一请求体

前言

上篇讲到Retrofit2+Okhttp3添加统一​​请求头​​​,这篇是添加统一​​请求体​​​,原理是相通的,把参数以​​请求体​​​的方式添加到​​拦截器​​​中,然后在配置给​​okhttp​​。

代码实现

  • 创建拦截器,并添加参数
public class HeaderInterceptor implements Interceptor {

@NonNull
@Override
public Response intercept(Chain chain) throws IOException {

Request original = chain.request();

//添加请求体参数
HttpUrl url = original.url().newBuilder()
.addQueryParameter("name", "value")
.addQueryParameter("自定义key", "自定义value")
.build();

//重新配置请求并返回
Request request = original.newBuilder()
.method(original.method(), original.body())
.url(url)
.build();

return chain.proceed(request);
}

}
  • 配置拦截器给OkHttp
OkHttpClient okHttpClient = new OkHttpClient.Builder()
...
.addInterceptor(new HeaderInterceptor())
...
.connectTimeout(20, TimeUnit.SECONDS)
.build();




举报

相关推荐

0 条评论