环境和项目情况
大部分APP应用都用Retrofit + mvp +Rxjava来实现。其中Retrofit实际上用了Okhttp。有了okhttp自然而然想到了拦截器。说到拦截器,就是对每一个访问(Request)的拦截,打个比方,就好比请求发出去之前,先让我过滤(加工)一下,比如Header里面我统一处理一下啥的(比如每个请求都加个Token啥的)。
Retrofit 和okhttp拦截器功能强大,能上天入地,本文仅做简单解释,并且此文也相当处级和入门,还望各位多多指教。本文简单和大家一起学学习一下Okhttp拦截器。
实际mvp 请求场景解释
每个app中都有大量的api(访问服务器接口),从登陆获取Token,到接下来所有的api请求可能都需在header中添加Token放入请求头,来标识客户端身份。
如下:
模拟代码(实际业务场景的ApiService代码)
public interface APIService {
@Multipart
@POST("auth/oauth/token")
Observable login(@Header("Authorization") String authorization,
@Part("grant_type") RequestBody grant_type,
@Part("username") RequestBody username,
@Part("password") RequestB