public abstract class BaseRequest<R extends BaseRequest>
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
protected java.util.List<CallAdapter.Factory> |
mAdapterFactories |
protected ApiService |
mApiManager |
protected java.lang.String |
mBaseUrl |
protected Cache |
mCache |
protected java.lang.String |
mCacheKey |
protected CacheMode |
mCacheMode |
protected long |
mCacheTime |
protected long |
mConnectTimeout |
protected android.content.Context |
mContext |
protected java.util.List<Converter.Factory> |
mConverterFactories |
protected java.util.List<Cookie> |
mCookies |
protected IDiskConverter |
mDiskConverter |
protected HttpHeaders |
mHeaders |
protected javax.net.ssl.HostnameVerifier |
mHostnameVerifier |
protected HttpUrl |
mHttpUrl |
protected java.util.List<Interceptor> |
mInterceptors |
protected boolean |
mIsOnMainThread |
protected boolean |
mIsSyncRequest |
protected boolean |
mKeepJson |
protected java.util.List<Interceptor> |
mNetworkInterceptors |
protected OkHttpClient |
mOkHttpClient |
protected HttpParams |
mParams |
protected java.net.Proxy |
mProxy |
protected long |
mReadTimeOut |
protected Retrofit |
mRetrofit |
protected int |
mRetryCount |
protected int |
mRetryDelay |
protected int |
mRetryIncreaseDelay |
protected RxCache |
mRxCache |
protected HttpsUtils.SSLParams |
mSSLParams |
protected java.lang.String |
mUrl |
protected long |
mWriteTimeOut |
| Constructor and Description |
|---|
BaseRequest(java.lang.String url)
构建基础请求
|
| Modifier and Type | Method and Description |
|---|---|
R |
accessToken(boolean accessToken)
是否需要验证token(默认false)
|
R |
addCallAdapterFactory(CallAdapter.Factory factory)
设置CallAdapter.Factory,默认RxJavaCallAdapterFactory.create()
|
R |
addConverterFactory(Converter.Factory factory)
设置Converter.Factory,默认GsonConverterFactory.create()
|
R |
addCookie(Cookie cookie) |
R |
addCookie(java.lang.String name,
java.lang.String value) |
R |
addCookies(java.util.List<Cookie> cookies) |
R |
addInterceptor(Interceptor interceptor)
增加应用拦截器
|
R |
addNetworkInterceptor(Interceptor interceptor)
增加网络拦截器
|
R |
baseUrl(java.lang.String baseUrl)
设置基础url路径
|
protected R |
build()
构建请求【构建RxCache、OkHttpClient、Retrofit、mApiManager】
|
R |
cacheDiskConverter(IDiskConverter converter)
设置缓存的转换器
|
R |
cacheKey(java.lang.String cacheKey)
设置缓存的key
|
R |
cacheMode(CacheMode cacheMode)
设置缓存的模式(默认无缓存)
|
R |
cacheTime(long cacheTime)
设置缓存保存的时间(缓存过期时间,默认永久缓存)
|
R |
certificates(java.io.InputStream... certificates)
https的全局自签名证书
|
R |
certificates(java.io.InputStream bksFile,
java.lang.String password,
java.io.InputStream... certificates)
https双向认证证书
|
R |
connectTimeout(long connectTimeout)
设置服务器连接的超时时间
|
<T> Disposable |
execute(CallBack<T> callBack) |
<T> Disposable |
execute(CallBackProxy<? extends ApiResult<T>,T> proxy)
执行请求,并订阅请求响应结果(CallBack代理)
|
<T> <any> |
execute(CallClazzProxy<? extends ApiResult<T>,T> proxy)
执行请求,获取请求响应结果【Observable
|
<T> <any> |
execute(java.lang.Class<T> clazz) |
<T> <any> |
execute(java.lang.reflect.Type type) |
protected abstract <any> |
generateRequest()
进行网络请求
|
java.lang.String |
getBaseUrl() |
HttpParams |
getParams() |
java.lang.String |
getUrl()
获取请求的地址
|
R |
headers(HttpHeaders headers)
添加头信息
|
R |
headers(java.lang.String key,
java.lang.String value)
添加头信息
|
R |
hostnameVerifier(javax.net.ssl.HostnameVerifier hostnameVerifier)
https的全局访问规则
|
R |
keepJson(boolean keepJson)
保存json的形式(不返回对象,保持Json的String形式,不过传入的必须是String.class)
|
R |
okCache(Cache cache)
设置缓存(默认无缓存)
|
R |
okproxy(java.net.Proxy proxy)
设置代理
|
R |
onMainThread(boolean onMainThread)
请求完成后是否回到主线程(默认是true)
|
R |
params(HttpParams params)
设置参数
|
R |
params(java.util.Map<java.lang.String,java.lang.Object> params)
设置参数
|
R |
params(java.lang.String key,
java.lang.Object value)
设置参数
|
R |
readTimeOut(long readTimeOut)
设置读的超时时间
|
R |
removeAllHeaders()
移除所有头信息
|
R |
removeAllParams()
去除所有参数
|
R |
removeHeader(java.lang.String key)
移除头信息
|
R |
removeParam(java.lang.String key)
去除参数
|
R |
retryCount(int retryCount)
设置超时重试的次数
|
R |
retryDelay(int retryDelay)
设置超时重试的延迟时间
|
R |
retryIncreaseDelay(int retryIncreaseDelay)
设置超时重试叠加延时
|
R |
sign(boolean sign)
是否添加数字签名(默认false)
|
R |
subUrl(java.lang.String subUrl)
设置基础subUrl路径
|
R |
syncRequest(boolean syncRequest)
是否是同步请求(不开子线程,默认是false)
|
R |
threadType(java.lang.String threadType)
设置请求的线程调度类型
|
R |
timeOut(long timeOut)
设置超时时间(读、写、服务器连接的超时时间)
|
R |
timeStamp(boolean timeStamp)
是否添加时间戳(默认false)
|
protected <T> <any> |
toObservable(Observable observable,
CallBackProxy<? extends ApiResult<T>,T> proxy)
执行请求,获取请求响应结果【Observable
|
R |
url(java.lang.String url)
设置url路径
|
R |
writeTimeOut(long writeTimeOut)
设置写的超时时间
|
protected android.content.Context mContext
protected HttpUrl mHttpUrl
protected java.lang.String mBaseUrl
protected java.lang.String mUrl
protected boolean mIsSyncRequest
protected boolean mIsOnMainThread
protected boolean mKeepJson
protected long mReadTimeOut
protected long mWriteTimeOut
protected long mConnectTimeout
protected int mRetryCount
protected int mRetryDelay
protected int mRetryIncreaseDelay
protected HttpHeaders mHeaders
protected HttpParams mParams
protected RxCache mRxCache
protected Cache mCache
protected CacheMode mCacheMode
protected long mCacheTime
protected java.lang.String mCacheKey
protected IDiskConverter mDiskConverter
protected OkHttpClient mOkHttpClient
protected java.net.Proxy mProxy
protected final java.util.List<Interceptor> mNetworkInterceptors
protected final java.util.List<Interceptor> mInterceptors
protected Retrofit mRetrofit
protected ApiService mApiManager
protected java.util.List<Converter.Factory> mConverterFactories
protected java.util.List<CallAdapter.Factory> mAdapterFactories
protected HttpsUtils.SSLParams mSSLParams
protected javax.net.ssl.HostnameVerifier mHostnameVerifier
protected java.util.List<Cookie> mCookies
public BaseRequest(java.lang.String url)
url - 请求的urlpublic R url(java.lang.String url)
url - public R baseUrl(java.lang.String baseUrl)
baseUrl - public R subUrl(java.lang.String subUrl)
subUrl - public java.lang.String getUrl()
public java.lang.String getBaseUrl()
public R keepJson(boolean keepJson)
keepJson - public R syncRequest(boolean syncRequest)
syncRequest - public R onMainThread(boolean onMainThread)
onMainThread - public R threadType(java.lang.String threadType)
threadType - public R sign(boolean sign)
sign - public R timeStamp(boolean timeStamp)
timeStamp - public R accessToken(boolean accessToken)
accessToken - public R readTimeOut(long readTimeOut)
readTimeOut - public R writeTimeOut(long writeTimeOut)
writeTimeOut - public R connectTimeout(long connectTimeout)
connectTimeout - public R timeOut(long timeOut)
timeOut - public R retryCount(int retryCount)
retryCount - public R retryDelay(int retryDelay)
retryDelay - public R retryIncreaseDelay(int retryIncreaseDelay)
retryIncreaseDelay - public R headers(HttpHeaders headers)
public R headers(java.lang.String key, java.lang.String value)
public R removeHeader(java.lang.String key)
public R removeAllHeaders()
public R params(HttpParams params)
public R params(java.util.Map<java.lang.String,java.lang.Object> params)
public R params(java.lang.String key, java.lang.Object value)
public R removeParam(java.lang.String key)
public R removeAllParams()
public HttpParams getParams()
public R okCache(Cache cache)
cache - public R cacheKey(java.lang.String cacheKey)
cacheKey - public R cacheTime(long cacheTime)
cacheTime - public R cacheDiskConverter(IDiskConverter converter)
public R okproxy(java.net.Proxy proxy)
public R addInterceptor(Interceptor interceptor)
interceptor - public R addNetworkInterceptor(Interceptor interceptor)
interceptor - public R addConverterFactory(Converter.Factory factory)
public R addCallAdapterFactory(CallAdapter.Factory factory)
public R hostnameVerifier(javax.net.ssl.HostnameVerifier hostnameVerifier)
public R certificates(java.io.InputStream... certificates)
public R certificates(java.io.InputStream bksFile, java.lang.String password, java.io.InputStream... certificates)
public R addCookie(java.lang.String name, java.lang.String value)
public R addCookie(Cookie cookie)
public R addCookies(java.util.List<Cookie> cookies)
protected abstract <any> generateRequest()
protected R build()
public <T> <any> execute(java.lang.Class<T> clazz)
public <T> <any> execute(java.lang.reflect.Type type)
public <T> Disposable execute(CallBack<T> callBack)
protected <T> <any> toObservable(Observable observable,
CallBackProxy<? extends ApiResult<T>,T> proxy)
T - observable - proxy - public <T> Disposable execute(CallBackProxy<? extends ApiResult<T>,T> proxy)
T - proxy - public <T> <any> execute(CallClazzProxy<? extends ApiResult<T>,T> proxy)
T - proxy - 使用了getType