OkHttp拦截器POST添加公共参数

来源:互联网 发布:网络短剧排名 编辑:程序博客网 时间:2024/06/07 02:27

网络请求中总有一些固定的参数  但是我们不能没回请求都加上  这就需要一个拦截器  添加公共参数

网络拦截器

@Overridepublic Response intercept(Chain chain) throws IOException {    //获取request    Request request = chain.request();    //判断当前的请求    if (request.method().equals("POST")){        //判断当前的请求Boby        if (request.body() instanceof FormBody){            //创建一个新的FromBoby            FormBody.Builder bobyBuilder = new FormBody.Builder();            //获取原先的boby            FormBody body = (FormBody) request.body();            //遍历boby             for (int i = 0; i < body.size(); i++) {                //取出原先boby的数据  存入新的boby里                bobyBuilder.add(body.encodedName(i),body.encodedValue(i));            }            //添加制定的公共参数到新的boby里  把原先的boby给替换掉            body=bobyBuilder.add("source","android").build();            //获取新的request  取代原先的request            request=request.newBuilder().post(body).build();        }    }    //进行返回    return chain.proceed(request);}

在OkHttp中只需要实例化本拦截器  添加到 OkHttpClient 当中就行



原创粉丝点击