public class LoggingInterceptor implements Interceptor {@Override public Response intercept(Chain chain) throws IOException {
//首先取到Request
Request request = chain.request();
Response response = null;
Request requestProcess = null ;
if("GET".equals(request.method())){
String url = request.url().toString() + "&source=android";
Request.Builder builder = request.newBuilder() ;
builder.get().url(url);
requestProcess = builder.build();
response = chain.proceed(requestProcess);
} else {
FormBody.Builder builder = new FormBody.Builder() ;
RequestBody requestBody = request.body() ;
if(requestBody instanceof FormBody){
FormBody formBody = (FormBody)requestBody ;
for (int i=0;i<formBody.size();i++){
builder.add(formBody.encodedName(i),formBody.encodedValue(i));
}
builder.add("source","android");
}
requestProcess = request.newBuilder().url(request.url().toString()).post(builder.build()).build() ;
response = chain.proceed(requestProcess);
}
return response;
}
}
本文介绍了一个自定义的日志拦截器实现,用于OkHttp请求中添加统一参数,并展示了如何根据不同HTTP方法处理请求和响应。
1554

被折叠的 条评论
为什么被折叠?



