public abstract class AbsHttpRequest<Req extends HttpRequest<Req>> extends Object implements HttpRequest<Req>
2016-04-16 HttpRequest的抽象实现,实现了大部分方法.
| 限定符和类型 | 方法和说明 |
|---|---|
<E> E |
asBean(Class<E> targetClass)
将响应结果转为JavaBean对象
|
<E> E |
asBean(com.mzlion.core.json.TypeRef<E> typeRef)
将响应结果转为JavaBean对象
用法如下:Map<String,String> data = httpResponse.asBean(new TypeRef<Map<String,String>>);
|
byte[] |
asByteData()
将响应结果转为字节数组
|
void |
asFile(File saveFile)
将响应结果输出到文件中
|
void |
asStream(OutputStream out)
将响应结果输出到输出流,并不会主动关闭输出流
out |
String |
asString()
将响应结果转为字符串
|
Req |
connectTimeout(int connectTimeout)
为构建本次HttpRequest设置单独连接超时时间。
|
Req |
connectTimeout(int connectTimeout,
TimeUnit timeUnit)
为构建本次HttpRequest设置单独连接超时时间。
|
Req |
customSSL(InputStream... certificates)
为构建本次HttpRequest设置单独SSL证书
|
Req |
customSSL(InputStream pfxStream,
char[] pfxPwd,
InputStream... certificates)
SSL双向认证
|
Req |
customSSL(InputStream pfxStream,
char[] pfxPwd,
X509TrustManager trustManager)
SSL双向认证
|
Req |
customSSL(X509TrustManager trustManager)
为构建本次HttpRequest设置SSL单向认证
|
HttpResponse |
execute()
执行HTTP请求,获取响应结果
|
<T> void |
execute(Callback<T> callback)
异步执行请求
|
protected abstract okhttp3.Request |
generateRequest(okhttp3.RequestBody requestBody)
根据不同的请求方式,将RequestBody转换成Request对象
|
protected abstract okhttp3.RequestBody |
generateRequestBody()
获取RequestBody对象
|
Req |
header(String name,
String value)
添加请求头信息
|
Req |
queryString(Map<String,String> parameters)
为url地址设置请求参数,即url?
|
Req |
queryString(String name,
Number value)
为url地址设置请求参数,即url?
|
Req |
queryString(String name,
String value)
为url地址设置请求参数,即url?
|
Req |
queryString(String name,
String value,
boolean replace)
为url地址设置请求参数,即url?
|
Req |
readTimeout(int readTimeout)
为构建本次HttpRequest设置单独读取流超时。
|
Req |
readTimeout(int readTimeout,
TimeUnit timeUnit)
为构建本次HttpRequest设置单独读取流超时。
|
Req |
removeHeader(String name)
从请求头中移除键值
|
Req |
url(String url)
设置请求地址
|
Req |
writeTimeout(int writeTimeout)
为构建本次HttpRequest设置单独写入流超时。
|
Req |
writeTimeout(int writeTimeout,
TimeUnit timeUnit)
为构建本次HttpRequest设置单独写入流超时。
|
protected org.slf4j.Logger logger
protected String url
public Req url(String url)
url 在接口中 HttpRequest<Req extends HttpRequest<Req>>url - 请求地址public Req queryString(String name, Number value)
queryString 在接口中 HttpRequest<Req extends HttpRequest<Req>>name - 参数名value - 参数值public Req queryString(String name, String value)
queryString 在接口中 HttpRequest<Req extends HttpRequest<Req>>name - 参数名value - 参数值public Req queryString(String name, String value, boolean replace)
queryString 在接口中 HttpRequest<Req extends HttpRequest<Req>>name - 参数名value - 参数值replace - 值为[@code true}则替换public Req queryString(Map<String,String> parameters)
queryString 在接口中 HttpRequest<Req extends HttpRequest<Req>>parameters - 参数对public Req header(String name, String value)
header 在接口中 HttpRequest<Req extends HttpRequest<Req>>name - 请求头键名value - 请求头值public Req removeHeader(String name)
removeHeader 在接口中 HttpRequest<Req extends HttpRequest<Req>>name - 请求头键名public Req connectTimeout(int connectTimeout, TimeUnit timeUnit)
connectTimeout 在接口中 HttpRequest<Req extends HttpRequest<Req>>connectTimeout - 连接超时时间timeUnit - 超时时间单位public Req connectTimeout(int connectTimeout)
connectTimeout 在接口中 HttpRequest<Req extends HttpRequest<Req>>connectTimeout - 连接超时时间public Req readTimeout(int readTimeout, TimeUnit timeUnit)
readTimeout 在接口中 HttpRequest<Req extends HttpRequest<Req>>readTimeout - 流读取超时时间timeUnit - 超时时间单位public Req readTimeout(int readTimeout)
readTimeout 在接口中 HttpRequest<Req extends HttpRequest<Req>>readTimeout - 流读取超时时间public Req writeTimeout(int writeTimeout, TimeUnit timeUnit)
writeTimeout 在接口中 HttpRequest<Req extends HttpRequest<Req>>writeTimeout - 流写入超时时间timeUnit - 超时时间单位public Req writeTimeout(int writeTimeout)
writeTimeout 在接口中 HttpRequest<Req extends HttpRequest<Req>>writeTimeout - 流写入超时时间public Req customSSL(InputStream... certificates)
customSSL 在接口中 HttpRequest<Req extends HttpRequest<Req>>certificates - SSL证书文件Req的对象自己public Req customSSL(X509TrustManager trustManager)
customSSL 在接口中 HttpRequest<Req extends HttpRequest<Req>>trustManager - 证书管理器public Req customSSL(InputStream pfxStream, char[] pfxPwd, InputStream... certificates)
customSSL 在接口中 HttpRequest<Req extends HttpRequest<Req>>pfxStream - 客户端证书,支持P12的证书pfxPwd - 客户端证书密码certificates - 含有服务端公钥的证书Reqpublic Req customSSL(InputStream pfxStream, char[] pfxPwd, X509TrustManager trustManager)
customSSL 在接口中 HttpRequest<Req extends HttpRequest<Req>>pfxStream - 客户端证书,支持P12的证书pfxPwd - 客户端证书密码trustManager - 证书管理器Reqpublic String asString()
HttpClientException - 如果服务器返回非200则抛出此异常public <E> E asBean(Class<E> targetClass)
E - 泛型类型targetClass - 目标类型HttpClientException - 如果服务器返回非200则抛出此异常public <E> E asBean(com.mzlion.core.json.TypeRef<E> typeRef)
用法如下:Map<String,String> data = httpResponse.asBean(new TypeRef<Map<String,String>>);
E - 泛型类型typeRef - 带有泛型类的封装类HttpClientException - 如果服务器返回非200则抛出此异常public byte[] asByteData()
HttpClientException - 如果服务器返回非200则抛出此异常public void asFile(File saveFile)
saveFile - 目标保存文件,非空public void asStream(OutputStream out)
outout - 输出流,非空public HttpResponse execute()
execute 在接口中 HttpRequest<Req extends HttpRequest<Req>>public <T> void execute(Callback<T> callback)
execute 在接口中 HttpRequest<Req extends HttpRequest<Req>>T - 数据类型callback - 回调接口protected abstract okhttp3.RequestBody generateRequestBody()
protected abstract okhttp3.Request generateRequest(okhttp3.RequestBody requestBody)
requestBody - 请求体RequestRequestBodyCopyright © 2017. All rights reserved.