美文网首页基础知识
Okhttp拦截器导致多次请求问题

Okhttp拦截器导致多次请求问题

作者: 苏坡坡要吃婆婆酥 | 来源:发表于2022-06-01 19:37 被阅读0次

    场景:二手代码,本来为了方便在拦截器中做token失效判断,结果导致会请求会发送2次。
    如图在拦截器中使用responseBody.string()消费了请求,就会导致多次请求。

    new Interceptor() {
                            @Override
                            public Response intercept(Chain chain) throws IOException {
                                Request request = chain.request();
                                Response response = chain.proceed(request);
                                ResponseBody responseBody = response.body();
    
                                //处理token失效
                                if (responseBody != null) {
                                    String bodyString = responseBody.string();
                                    if (bodyString.contains("\"status\":203") || bodyString.contains("\"status\":204") || bodyString.contains("\"status\":201")) {
                                        //发送退出请求
                                        EventBus.getDefault().post("toLoginOut");
                                    }
                                }
                                return response;
                            }
                        }
    

    ``
    return response改为return response.newBuilder().body(responseBody).build()就好了。

    相关文章

      网友评论

        本文标题:Okhttp拦截器导致多次请求问题

        本文链接:https://www.haomeiwen.com/subject/fomxmrtx.html