Fx.http: API related to http request
1. HTTP request, by constructing a Request request, it supports application/json, application/x-www-form-urlencoded and multipart/form-data
Fx.http.execute(<Request request>)
Parameter Description
| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| request | Request | |
return type
APIResult
Return value description
HttpResult
Groovy example
// The InputStream of the downloaded file calls the third-party interface to upload to the client system
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. The body request format of multipart/form-data can be used to transfer files
MultipartBody body = MultipartBody. builder()
.addPart("name", "tom")
.addPart("id", "1234")
.addPart("file", inputStream, 'test attachment.docx', 'application/octet-stream')
.build();
//2, or use InputStreamBody to transfer files
//InputStreamBody body = InputStreamBody. builder()
// .content(inputStream)
// .build()
//3, application/json body request format
// Map map = ["a": 1, "b": 2]
// StringBody body = StringBody.builder().content(map).build()
//4, application/x-www-form-urlencoded body request format
// 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). Refer to Request
(2). Refer to HttpResult
2. HTTP GET request
Fx.http.get(<String url>, <Map headers>, <Integer timeout>, <Boolean retry>, <Integer retryCount>, <Boolean ignoreSSL>)
Parameter Description
| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| url | String | requested url |
| headers | Map | optional parameter, request header |
| timeout | Integer | Optional parameter, scoketTimeOut timeout time, unit ms, maximum 10s, 1s=1000ms |
| retry | Boolean | optional parameter, whether to retry when scoketTimeOut times out; connection timeout will definitely be retried, this parameter determines whether timeout is retried; when set to true, it may cause repeated submissions |
| retryCount | Integer | optional parameter, the number of retries, up to 3 |
| ignoreSSL | Boolean | optional parameter, bypass SSL verification |
return type
APIResult
Return value description
HttpResult
Java example
Map<String, Object>header = Maps. newHashMap();
header.put("X-token", "myToken");
APIResult ret = Fx.http.get("http://www.fxiaoke.com", header, 2000, true, 2, false);
if (ret. isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy example
def (Boolean error,HttpResult data,String errorMessage) = Fx.http.get("http://www.fxiaoke.com", ["X-token":"myToken"], 2000, true, 2, false)
(1). Refer to HttpResult
3. HTTP POST request
Fx.http.post(<String url>, <Map headers>, <Map data>, <Integer timeout>, <Boolean retry>, <Integer retryCount>, <Boolean ignoreSSL>)
Parameter Description
| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| url | String | requested url |
| headers | Map | request header |
| data | Map |request body |
| timeout | Integer | Optional parameter, scoketTimeOut timeout time, unit ms, maximum 10s, 1s=1000ms |
| retry | Boolean | optional parameter, whether to retry when scoketTimeOut times out; connection timeout will definitely be retried, this parameter determines whether timeout is retried; when set to true, it may cause repeated submissions |
| retryCount | Integer | optional parameter, the number of retries, up to 3 |
| ignoreSSL | Boolean | optional parameter, bypass SSL verification |
return type
APIResult
Return value description
HttpResult
Java example
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("http://www.fxiaoke.com", header, data, 2000, true, 2, false);
if (ret. isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy example
def (Boolean error,HttpResult data,String errorMessage) = Fx.http.post("http://www.fxiaoke.com", ["X-token":"myToken"], ["id":1], 2000, true, 2, false)
4. HTTP OPTIONS request
Fx.http.options(<String url>, <Map headers>, <Integer timeout>, <Boolean retry>, <Integer retryCount>)
Parameter Description
| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| url | String | requested url |
| headers | Map | request header |
| timeout | Integer | Optional parameter, scoketTimeOut timeout time, unit ms, maximum 10s, 1s=1000ms |
| retry | Boolean | optional parameter, whether to retry when scoketTimeOut times out; connection timeout will definitely be retried, this parameter determines whether timeout is retried; when set to true, it may cause repeated submissions |
| retryCount | Integer | optional parameter, the number of retries, up to 3 |
returnvalue type
APIResult
Return value description
HttpResult
Java example
Map<String, Object>header = Maps. newHashMap();
header.put("X-token", "myToken");
APIResult ret = Fx.http.options("http://www.fxiaoke.com", header,2000, true, 2);
if (ret. isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy example
def (Boolean error,HttpResult data,String errorMessage) = Fx.http.options("http://www.fxiaoke.com", ["X-token":"myToken"], 2000, true, 2)
5. HTTP PUT request
Fx.http.put(<String url>, <Map headers>, <Map data>, <Integer timeout>, <Boolean retry>, <Integer retryCount>)
Parameter Description
| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| url | String | requested url |
| headers | Map | request header |
| data | Map | request body |
| timeout | Integer | Optional parameter, scoketTimeOut timeout time, unit ms, maximum 10s, 1s=1000ms |
| retry | Boolean | optional parameter, whether to retry when scoketTimeOut times out; connection timeout will definitely be retried, this parameter determines whether timeout is retried; when set to true, it may cause repeated submissions |
| retryCount | Integer | optional parameter, the number of retries, up to 3 |
return type
APIResult
Return value description
HttpResult
Java example
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("http://www.fxiaoke.com", header, data, 2000, true, 2);
if (ret. isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy example
def (Boolean error,HttpResult data,String errorMessage) = Fx.http.put("http://www.fxiaoke.com", ["X-token":"myToken"], ["id":1], 2000, true, 2)
6. HTTP DELETE request
Fx.http.delete(<String url>, <Map headers>, <Map data>, <Integer timeout>, <Boolean retry>, <Integer retryCount>)
Parameter Description
| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| url | String | requested url |
| headers | Map | request header |
| data | Map | request body |
| timeout | Integer | Optional parameter, scoketTimeOut timeout time, unit ms, maximum 10s, 1s=1000ms |
| retry | Boolean | optional parameter, whether to retry when scoketTimeOut times out; connection timeout will definitely be retried, this parameter determines whether timeout is retried; when set to true, it may cause repeated submissions |
| retryCount | Integer | optional parameter, the number of retries, up to 3 |
return type
APIResult
Return value description
HttpResult
Java example
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("http://www.fxiaoke.com", header, data, 2000, true, 2);
if (ret. isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy example
def (Boolean error,HttpResult data,String errorMessage) = Fx.http.delete("http://www.fxiaoke.com", ["X-token":"myToken"], ["id":1], 2000, true, 2)
7. HTTP PATCH request
Fx.http.patch(<String url>, <Map headers>, <Map data>, <Integer timeout>, <Boolean retry>, <Integer retryCount>)
Parameter Description
| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| url | String | the requested url|
| headers | Map | request header |
| data | Map | request body |
| timeout | Integer | Optional parameter, scoketTimeOut timeout time, unit ms, maximum 10s, 1s=1000ms |
| retry | Boolean | optional parameter, whether to retry when scoketTimeOut times out; connection timeout will definitely be retried, this parameter determines whether timeout is retried; when set to true, it may cause repeated submissions |
| retryCount | Integer | optional parameter, the number of retries, up to 3 |
return type
APIResult
Return value description
HttpResult
Java example
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("http://www.fxiaoke.com", header, data, 2000, true, 2);
if (ret. isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy example
def (Boolean error,HttpResult data,String errorMessage) = Fx.http.patch("http://www.fxiaoke.com", ["X-token":"myToken"], ["id":1], 2000, true, 2)
Reference class com.fxiaoke.functions.http.Request
field description
| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| url | String | Requested url address |
| method | String | request method POST/GET/PUT... |
| headers | Map | request headers |
| body | RequestBody | request body |
| timeout | Integer | timeout time |
| insecure | Boolean | whether to bypass SSL verification, the default is false, not to bypass SSL |
| retryCount | Integer | Number of retries, 0 means no retry, maximum 3 retries|
Reference class com.fxiaoke.functions.http.HttpResult
field description
| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| statusCode | int | HTTP response status code |
| content | Object | Payload content of the HTTP response |
| bytes | byte[] | HTTP request raw binary data |
| headers | Map | header content of HTTP response |