Fx.http

Fx.http:和http请求相关的API

1. HTTP请求,通过构造Request请求,支持application/json,application/x-www-form-urlencoded和multipart/form-data

Fx.http.execute(<Request request>)

参数说明

参数 类型 说明
request Request

返回值类型

APIResult

返回值说明

HttpResult

Groovy举例

// 下载文件的InputStream调用第三方接口上传到客户系统
def(Boolean err, Object fileData, String msg) = Fx.file.downloadStream("N_202111_29_6eb71dca766944c582b87e6a5213f3a3.docx")
if (err) {
  log.info("downloadStream error :" + msg)
} else {
  log.info("file data :" + fileData)
}
InputStream inputStream = fileData['inputStream'] as InputStream



//1、 multipart/form-data 的body请求格式
MultipartBody body = MultipartBody.builder()
  .addPart("name", "tom")
  .addPart("id", "1234")
  .addPart("file", inputStream, '测试附件.docx', 'application/octet-stream')
  .build();

//2、application/json 的body请求格式
// Map map = ["a": 1, "b": 2]
// StringBody body = StringBody.builder().content(map).build()

//3、 application/x-www-form-urlencoded 的body请求格式
// FormBody body = FormBody.builder()
//   .field("a", "qweasd")
//   .field("b", 12423)
//   .field("c", "hello")
//   .build()

Request request = Request.builder()
  .method("POST")
  .url('http://httpbin.org/post')
  .timeout(7000)
  .retryCount(0)
  .header("Content-Type", "multipart/form-data")
  .body(body)
  .build()

def(Boolean error, HttpResult result, String message) = Fx.http.execute(request)
if (error) {
  log.info("error :" + message)
} else {
  log.info(result)
}
(1).参考Request
(2).参考HttpResult

2. HTTP GET请求

Fx.http.get(<String url>, <Map headers>, <int timeout>, <boolean retry>, <int retryCount>, <boolean ignoreSSL>)

参数说明

参数 类型 说明
url String 请求的url
headers Map 可选参数,请求header
timeout int 可选参数,scoketTimeOut超时时间,单位ms,最大10s ,1s=1000ms
retry boolean 可选参数,scoketTimeOut超时是否重试;连接超时一定会进行重试,这个参数决定了timeout是否重试;设置为true时,可能会造成重复提交
retryCount int 可选参数,重试次数,最多3次
ignoreSSL boolean 可选参数,绕过SSl验证

返回值类型

APIResult

返回值说明

HttpResult

Java举例

Map<String, Object>header = Maps.newHashMap();
header.put("X-token", "myToken");
APIResult ret = Fx.http.get("//www.sxgtbz.com", header, 2000, true, 2, false);
if (ret.isError()) {
    log.info(ret.message());
} else {
    log.info(ret.getData());
}

Groovy举例

def (Boolean error,HttpResult data,String errorMessage) = Fx.http.get("//www.sxgtbz.com", ["X-token":"myToken"], 2000, true, 2, false)
(1).参考HttpResult

3. HTTP POST请求

Fx.http.post(<String url>, <Map headers>, <Map data>, <int timeout>, <boolean retry>, <int retryCount>, <boolean ignoreSSL>)

参数说明

参数 类型 说明
url String 请求的url
headers Map 请求header
data Map 请求体
timeout int 可选参数,scoketTimeOut超时时间,单位ms,最大10s ,1s=1000ms
retry boolean 可选参数,scoketTimeOut超时是否重试;连接超时一定会进行重试,这个参数决定了timeout是否重试;设置为true时,可能会造成重复提交
retryCount int 可选参数,重试次数,最多3次
ignoreSSL boolean 可选参数,绕过SSl验证

返回值类型

APIResult

返回值说明

HttpResult

Java举例

Map<String, Object>header = Maps.newHashMap();
header.put("X-token", "myToken");
Map<String, Object>data = Maps.newHashMap();
data.put("id", 1);

APIResult ret = Fx.http.post("//www.sxgtbz.com", header, data, 2000, true, 2, false);
if (ret.isError()) {
    log.info(ret.message());
} else {
    log.info(ret.getData());
}

Groovy举例

def (Boolean error,HttpResult data,String errorMessage) =  Fx.http.post("//www.sxgtbz.com", ["X-token":"myToken"], ["id":1], 2000, true, 2, false)

4. HTTP OPTIONS请求

Fx.http.options(<String url>, <Map headers>, <int timeout>, <boolean retry>, <int retryCount>)

参数说明

参数 类型 说明
url String 请求的url
headers Map 请求header
timeout int 可选参数,scoketTimeOut超时时间,单位ms,最大10s ,1s=1000ms
retry boolean 可选参数,scoketTimeOut超时是否重试;连接超时一定会进行重试,这个参数决定了timeout是否重试;设置为true时,可能会造成重复提交
retryCount int 可选参数,重试次数,最多3次

返回值类型

APIResult

返回值说明

HttpResult

Java举例

Map<String, Object>header = Maps.newHashMap();
header.put("X-token", "myToken");

APIResult ret = Fx.http.options("//www.sxgtbz.com", header,2000, true, 2);
if (ret.isError()) {
    log.info(ret.message());
} else {
    log.info(ret.getData());
}

Groovy举例

def (Boolean error,HttpResult data,String errorMessage) =  Fx.http.options("//www.sxgtbz.com", ["X-token":"myToken"], 2000, true, 2)

5. HTTP PUT请求

Fx.http.put(<String url>, <Map headers>, <Map data>, <int timeout>, <boolean retry>, <int retryCount>)

参数说明

参数 类型 说明
url String 请求的url
headers Map 请求header
data Map 请求体
timeout int 可选参数,scoketTimeOut超时时间,单位ms,最大10s ,1s=1000ms
retry boolean 可选参数,scoketTimeOut超时是否重试;连接超时一定会进行重试,这个参数决定了timeout是否重试;设置为true时,可能会造成重复提交
retryCount int 可选参数,重试次数,最多3次

返回值类型

APIResult

返回值说明

HttpResult

Java举例

Map<String, Object>header = Maps.newHashMap();
header.put("X-token", "myToken");
Map<String, Object>data = Maps.newHashMap();
data.put("id", 1);

APIResult ret = Fx.http.put("//www.sxgtbz.com", header, data, 2000, true, 2);
if (ret.isError()) {
    log.info(ret.message());
} else {
    log.info(ret.getData());
}

Groovy举例

def (Boolean error,HttpResult data,String errorMessage) =  Fx.http.put("//www.sxgtbz.com", ["X-token":"myToken"], ["id":1], 2000, true, 2)

6. HTTP DELETE请求

Fx.http.delete(<String url>, <Map headers>, <Map data>, <int timeout>, <boolean retry>, <int retryCount>)

参数说明

参数 类型 说明
url String 请求的url
headers Map 请求header
data Map 请求体
timeout int 可选参数,scoketTimeOut超时时间,单位ms,最大10s ,1s=1000ms
retry boolean 可选参数,scoketTimeOut超时是否重试;连接超时一定会进行重试,这个参数决定了timeout是否重试;设置为true时,可能会造成重复提交
retryCount int 可选参数,重试次数,最多3次

返回值类型

APIResult

返回值说明

HttpResult

Java举例

Map<String, Object>header = Maps.newHashMap();
header.put("X-token", "myToken");
Map<String, Object>data = Maps.newHashMap();
data.put("id", 1);

APIResult ret = Fx.http.delete("//www.sxgtbz.com", header, data, 2000, true, 2);
if (ret.isError()) {
    log.info(ret.message());
} else {
    log.info(ret.getData());
}

Groovy举例

def (Boolean error,HttpResult data,String errorMessage) =  Fx.http.delete("//www.sxgtbz.com", ["X-token":"myToken"], ["id":1], 2000, true, 2)

7. HTTP PATCH请求

Fx.http.patch(<String url>, <Map headers>, <Map data>, <int timeout>, <boolean retry>, <int retryCount>)

参数说明

参数 类型 说明
url String 请求的url
headers Map 请求header
data Map 请求体
timeout int 可选参数,scoketTimeOut超时时间,单位ms,最大10s ,1s=1000ms
retry boolean 可选参数,scoketTimeOut超时是否重试;连接超时一定会进行重试,这个参数决定了timeout是否重试;设置为true时,可能会造成重复提交
retryCount int 可选参数,重试次数,最多3次

返回值类型

APIResult

返回值说明

HttpResult

Java举例

Map<String, Object>header = Maps.newHashMap();
header.put("X-token", "myToken");
Map<String, Object>data = Maps.newHashMap();
data.put("id", 1);

APIResult ret = Fx.http.patch("//www.sxgtbz.com", header, data, 2000, true, 2);
if (ret.isError()) {
    log.info(ret.message());
} else {
    log.info(ret.getData());
}

Groovy举例

def (Boolean error,HttpResult data,String errorMessage) =  Fx.http.patch("//www.sxgtbz.com", ["X-token":"myToken"], ["id":1], 2000, true, 2)

参考类 com.fxiaoke.functions.http.Request

字段说明

参数 类型 说明
url String 请求的url地址
method String 请求的方法POST/GET/PUT...
headers Map 请求的header
body RequestBody 请求的body
timeout Integer 超时时间
insecure Boolean 是否绕过SSl验证,默认为false,不绕过SSL
retryCount Integer 重试次数,0表示不重试,最大3次重试

参考类 com.fxiaoke.functions.http.HttpResult

字段说明

参数 类型 说明
statusCode int HTTP响应状态码
content Object HTTP响应的Payload内容
bytes byte[] HTTP请求原始二进制数据
headers Map HTTP响应的header内容

results matching ""

    No results matching ""