转载请说明出处:
前言:我相信现在很多人都在用OKhttp作为网络请求库,为什么OKhttp会受到这么多人的青睐呢,谷歌也不例外(据我了解到它是唯一一个被谷歌认可的第三方网络请求库),
原因有很多,对于我来说,OKhttp对我最受用的是它的拦截器机制
拦截器的分类:
1.网络拦截器
2.应用拦截器
借鉴文章: http://www.jianshu.com/p/2710ed1e6b48,对两种拦截器的详细介绍
终于开始文章的主题了:
原理:利用应用拦截器对请求进行拦截,重定向
步骤:1.发起一个网络请求,拦截到响应结果
2.判断响应结果是否为token失效
3.如果token失效,获取新的token
4.携带新的token,重新请求
好了大概步骤已经梳理好了,判断token失效的方法是什么呢?
大概有两种:
1.http code 标记一个不为200的code(与服务器商定好的:比如当返回的code值为201则表示token失效)
2.在响应数据的data里面例如:{"requestStatus":{"code":42441,"msg":"token失效请重新登录","timestamp":1492847318460},"data":""}
到了这里那我们开始吧:
第一种的验证方法:
public static void tokenInterceptor1(){
new Interceptor() {
@Override
public Response intercept(C