OkHttp拦截器

为什么要使用拦截器呢???
因为拦截器是一种能够监控,重写,重试调用的强大机制。

还是附上实用的代码吧!

import java.io.IOException;
import okhttp3.FormBody;
import okhttp3.Interceptor;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

public class MyInterCeptor implements Interceptor {
    @Override
    public Response intercept(Chain chain) throws IOException {
        //获取原来的请求队列
        Request request = chain.request();
        //获取原来的额请求体s
        RequestBody body = request.body();
        //遍历原来的请求体到新的请求体中,并将公共参数添加到新的请求体中
        if (body instanceof FormBody) {
            //创建新的请求体
            FormBody.Builder builder = new FormBody.Builder();
            for (int i = 0; i < ((FormBody) body).size(); i++) {
                String name = ((FormBody) body).name(i);
                String value = ((FormBody) body).value(i);
                builder.add(name, value);
            }
            //添加公共参数,根据自己需求填写参数
            builder.add("参数名", "参数值");
            FormBody build = builder.build();
            //创建新的请求队列
            Request build1 = request.newBuilder().post(build).build();
            Response response = chain.proceed(build1);
            return response;

        }
        return chain.proceed(request);
    }
    /**
     突然很想听<体面>,唉,失恋了,文章也不想好好写了,
     这次写的特别没有质量,只是够日常应用,唉,以后再细说吧!
     心情还是难受....

     体面:
     别堆砌怀念让剧情变得狗血
     深爱了多年又何必毁了经典
     都已成年不拖不欠
     浪费时间是我情愿
     像谢幕的演员
     眼看着灯光熄灭
     来不及再轰轰烈烈
     就保留告别的尊严
     我爱你不后悔
     也尊重故事结尾
     分手应该体面
     谁都不要说抱歉
     何来亏欠
     我敢给就敢心碎
     镜头前面是
     从前的我们在喝彩
     流着泪声嘶力竭
     离开也很体面
     才没辜负这些年
     爱得热烈
     认真付出的画面
     别让执念毁掉了昨天
     我爱过你利落干脆
     最熟悉的街主角却换了人演
     我哭到哽咽
     心再痛就当破茧
     来不及再轰轰烈烈
     就保留告别的尊严
     我爱你不后悔
     也尊重故事结尾
     分手应该体面
     谁都不要说抱歉
     何来亏欠
     我敢给就敢心碎
     镜头前面是
     从前的我们在喝彩
     流着泪声嘶力竭
     离开也很体面
     才没辜负这些年爱得热烈
     认真付出的画面
     别让执念毁掉了昨天
     我爱过你利落干脆
     再见不负遇见
     */
}

调用chain.proceed(request)是每个拦截器实现的关键部分。这个看似简单的方法是所有HTTP 工作发生的地方, 在这里产生一个响应应答请求。
这里写图片描述
拦截器也可以是链式的,假如你有一个压缩拦截器和一个校验拦截器,那么需要决定数据是否被压缩后进行校验,或者是先校验后压缩。OkHttp采用列表的形式追踪拦截器,拦截器会被有序调用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值