public interface HttpAPI
extends java.io.Closeable
支持日志和审计的操作:execute、get、post、async
限定符和类型 | 字段和说明 |
---|---|
static java.lang.String |
METHOD_DELETE |
static java.lang.String |
METHOD_GET |
static java.lang.String |
METHOD_HEAD |
static java.lang.String |
METHOD_POST |
static java.lang.String |
METHOD_PUT |
static java.lang.String |
SSL |
static java.lang.String |
TLS |
static int |
verifier_AllowAll |
static int |
verifier_BrowserCompat |
static int |
verifier_Strict |
限定符和类型 | 方法和说明 |
---|---|
void |
async(java.lang.String uri,
HttpCallback cb,
java.lang.String[]... queryParams)
异步请求,自定义回调,当请求返回结果后会执行该回调
|
HttpAPI |
atContext(java.lang.Object atContext)
为上层场景提供的设置@公式上下文能力,可在支持@公式的场景(如url)扩大解析范围
若不指定Http Api 默认为 DispatcherRequest.getUserContext()
|
HttpAPI |
body(java.io.File file,
ContentType contentType)
为当前http请求增加文件内容
|
HttpAPI |
body(java.io.InputStream instream,
ContentType contentType)
为当前http请求增加流内容
|
HttpAPI |
body(java.lang.Object body,
ContentType contentType)
设置请求体和请求类型
|
HttpAPI |
body(java.lang.String s,
ContentType contentType)
设置请求体和请求类型
|
HttpAPI |
bodyForm(java.lang.String[][] formParams)
为当前http请求增加多个Form参数,例如:bodyForm(new String[][]{{},{}});
|
HttpAPI |
bodyForm(java.lang.String name,
java.lang.String value)
为当前http请求增加一个Form参数
|
HttpAPI |
bodyJson(java.lang.String json)
设置请求体,请求类型为application/json;charset=utf-8
|
HttpAPI |
delete()
将请求方法设置为DELETE
该请求方法下,设置的body类参数(form和json)将被丢弃
|
Response |
execute()
发起请求
|
Response |
execute(DSAPIExecuteContext DSAPIExecuteContext)
发起请求
|
Response |
execute(java.lang.String url)
使用自定义的url发起请求
|
Response |
execute(java.lang.String url,
DSAPIExecuteContext DSAPIExecuteContext)
使用自定义的url发起请求
|
HttpAPI |
get()
将请求方法设置为GET
该请求方法下,设置的body类参数(form和json)将被丢弃
|
java.lang.String |
get(java.lang.String uri)
get请求,返回string结果
该请求方法下,设置的body类参数(form和json)将被丢弃
|
void |
get(java.lang.String uri,
HttpStreamHandler httpStreamHandler)
已过时。
|
java.lang.String |
getHttpUrl()
获取SDK注入的或连接器定义的url
|
HttpAPI |
header(java.lang.String name,
java.lang.String value)
为当前http请求新增一个header
已存在的header会被覆盖
|
HttpAPI |
mergeBodyJson(java.lang.String json)
合并JSON,把参数的JSON和已有的Body JSON合并
合并规则:
1、参数为JSONObject,已有Body JSON为JSONObject,根据第一层Key做合并,如果第一层key存在则覆盖,不存在则追加
2、参数为JSONObject,已有Body JSON为JSONArray,抛出
java.lang.IllegalArgumentException 异常
3、参数为JSONArray,已有Body JSON为JSONArray,向Body JSONArray后追加参数JSONArray
4、参数为JSONArray,已有Body JSON为JSONObject,抛出java.lang.IllegalArgumentException 异常
5、已有Body JSON为空时,追加参数JSON |
HttpAPI |
multipart(java.lang.String name,
java.io.InputStream is,
java.lang.String fileName)
http multipart传附件和数据,结合post方法使用,使用后当前提交的multipart信息清空
|
HttpAPI |
multipart(java.lang.String name,
java.lang.String text)
http multipart传附件和数据,结合post方法使用,使用后当前提交的multipart信息清空
|
HttpAPI |
path(java.lang.String pathParamKey,
java.lang.String pathParamValue)
设置PathParameter
使用{}包裹key,如/user/{userId}/,调用path("userId","2"),路径会变为/user/2/
|
HttpAPI |
post()
将请求方法设置为POST
|
java.lang.String |
post(java.lang.String uri)
post请求,返回string结果
|
void |
post(java.lang.String uri,
HttpStreamHandler httpStreamHandler)
已过时。
|
HttpAPI |
put()
将请求方法设置为PUT
|
HttpAPI |
query(java.lang.String[][] queryParams)
增加多个查询参数
|
HttpAPI |
query(java.lang.String name,
java.lang.String value)
为当前http请求新增一个参数,查询参数将拼接到uri中?
|
HttpAPI |
setCharset(java.lang.String charset)
设置编码,默认为utf-8
|
HttpAPI |
setConnectTimeout(int timeout)
设置连接超时时间,单位ms,默认2秒
|
HttpAPI |
setContentType(ContentType contentType)
设置请求类型
|
HttpAPI |
setCredentials(Credentials credentials)
设置basic认证的用户名,密码
|
HttpAPI |
setHttpsContext(java.security.KeyStore truststore,
java.security.KeyStore keystore,
char[] keyPassword,
int verifier,
java.lang.String protocol)
设置https上下文,默认总是信任证书身份
|
HttpAPI |
setHttpUrl(java.lang.String url)
设置url
|
HttpAPI |
setMethod(java.lang.String method)
设置请求方法
|
HttpAPI |
setReadTimeout(int timeout)
设置读数据超时时间,单位ms,默认60秒
|
static final java.lang.String METHOD_GET
static final java.lang.String METHOD_POST
static final java.lang.String METHOD_PUT
static final java.lang.String METHOD_DELETE
static final java.lang.String METHOD_HEAD
static final java.lang.String TLS
static final java.lang.String SSL
static final int verifier_AllowAll
static final int verifier_BrowserCompat
static final int verifier_Strict
HttpAPI header(java.lang.String name, java.lang.String value)
已存在的header会被覆盖
name
- header参数名称value
- 参数值HttpAPI query(java.lang.String name, java.lang.String value)
name
- 查询参数名称value
- 参数值HttpAPI query(java.lang.String[][] queryParams)
queryParams
- 查询参数kv列表HttpAPI body(java.io.InputStream instream, ContentType contentType)
instream
- 流contentType
- 如果为空,不发Content-Type信息HttpAPI body(java.lang.Object body, ContentType contentType)
HttpAPI body(java.lang.String s, ContentType contentType)
HttpAPI bodyJson(java.lang.String json)
HttpAPI path(java.lang.String pathParamKey, java.lang.String pathParamValue)
HttpAPI mergeBodyJson(java.lang.String json)
合并规则:
1、参数为JSONObject,已有Body JSON为JSONObject,根据第一层Key做合并,如果第一层key存在则覆盖,不存在则追加
2、参数为JSONObject,已有Body JSON为JSONArray,抛出java.lang.IllegalArgumentException
异常
3、参数为JSONArray,已有Body JSON为JSONArray,向Body JSONArray后追加参数JSONArray
4、参数为JSONArray,已有Body JSON为JSONObject,抛出java.lang.IllegalArgumentException
异常
5、已有Body JSON为空时,追加参数JSON
HttpAPI body(java.io.File file, ContentType contentType)
file
- 文件contentType
- 如果为空,不发Content-Type信息HttpAPI bodyForm(java.lang.String name, java.lang.String value)
name
- form参数value
- 参数值HttpAPI bodyForm(java.lang.String[][] formParams)
formParams
- form提交参数kvHttpAPI multipart(java.lang.String name, java.io.InputStream is, java.lang.String fileName)
HttpAPI multipart(java.lang.String name, java.lang.String text)
java.lang.String get(java.lang.String uri) throws java.io.IOException
该请求方法下,设置的body类参数(form和json)将被丢弃
java.io.IOException
@Deprecated void get(java.lang.String uri, HttpStreamHandler httpStreamHandler) throws java.io.IOException
java.io.IOException
java.lang.String post(java.lang.String uri) throws java.io.IOException
java.io.IOException
Response execute(java.lang.String url) throws java.io.IOException
java.io.IOException
Response execute(DSAPIExecuteContext DSAPIExecuteContext) throws java.io.IOException
DSAPIExecuteContext
- http执行上下文,可开启参数收集、Mock等java.io.IOException
Response execute(java.lang.String url, DSAPIExecuteContext DSAPIExecuteContext) throws java.io.IOException
url
- 自定义的urlDSAPIExecuteContext
- http执行上下文,可开启参数收集、Mock等java.io.IOException
Response execute() throws java.lang.Exception
java.lang.Exception
void async(java.lang.String uri, HttpCallback cb, java.lang.String[]... queryParams)
@Deprecated void post(java.lang.String uri, HttpStreamHandler httpStreamHandler) throws java.io.IOException
java.io.IOException
HttpAPI post()
HttpAPI get()
该请求方法下,设置的body类参数(form和json)将被丢弃
HttpAPI delete()
该请求方法下,设置的body类参数(form和json)将被丢弃
HttpAPI put()
HttpAPI setReadTimeout(int timeout)
HttpAPI setConnectTimeout(int timeout)
HttpAPI setCharset(java.lang.String charset)
HttpAPI setContentType(ContentType contentType)
HttpAPI setMethod(java.lang.String method)
HttpAPI setCredentials(Credentials credentials)
HttpAPI setHttpsContext(java.security.KeyStore truststore, java.security.KeyStore keystore, char[] keyPassword, int verifier, java.lang.String protocol) throws java.lang.Exception
truststore
- 信任库keystore
- 密钥库keyPassword
- 密码verifier
- 见常量定义protocol
- ssl/tls,见常量定义java.lang.Exception
HttpAPI atContext(java.lang.Object atContext)
HttpAPI setHttpUrl(java.lang.String url)
java.lang.String getHttpUrl()
Copyright © Actionsoft Co., Ltd. All Rights Reserved.