Skip to content

Commit

Permalink
feature: RestUtils工具类为 "POST/GET" 请求方法,增加 HttpHeaders 参数,方便使用
Browse files Browse the repository at this point in the history
  • Loading branch information
myoss committed Apr 26, 2019
1 parent 7846b18 commit ceeaf1a
Show file tree
Hide file tree
Showing 2 changed files with 216 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,19 @@ public static String postJson(String url, String requestBody, Object... uriVaria
return RestUtils.postJson(REST_TEMPLATE, url, requestBody, uriVariables);
}

/**
* 以POST方法发送HTTP请求,请求的内容为JSON
*
* @param httpHeaders 自定义HttpHeaders
* @param url 请求的url,url中可以包含占位符{0}, {1}, {n}
* @param requestBody 请求的内容
* @param uriVariables url中占位符的参数值
* @return 请求结果
*/
public static String postJson(HttpHeaders httpHeaders, String url, String requestBody, Object... uriVariables) {
return RestUtils.postJson(REST_TEMPLATE, httpHeaders, url, requestBody, uriVariables);
}

/**
* 以POST方法发送HTTP请求,请求的内容为form数据格式
*
Expand All @@ -165,6 +178,20 @@ public static String postForm(String url, LinkedMultiValueMap<String, String> re
return RestUtils.postForm(REST_TEMPLATE, url, requestBody, uriVariables);
}

/**
* 以POST方法发送HTTP请求,请求的内容为form数据格式
*
* @param httpHeaders 自定义HttpHeaders
* @param url 请求的url,url中可以包含占位符{0}, {1}, {n}
* @param requestBody 请求的内容
* @param uriVariables url中占位符的参数值
* @return 请求结果
*/
public static String postForm(HttpHeaders httpHeaders, String url, LinkedMultiValueMap<String, String> requestBody,
Object... uriVariables) {
return RestUtils.postForm(REST_TEMPLATE, httpHeaders, url, requestBody, uriVariables);
}

/**
* 以GET方法发送HTTP请求,并在请求的url中添加动态参数 {@code parameterMap}
*
Expand All @@ -180,6 +207,22 @@ public static <T> T getForObject(String url, Map<String, String> parameterMap, C
return RestUtils.getForObject(REST_TEMPLATE, url, parameterMap, responseType, uriVariables);
}

/**
* 以GET方法发送HTTP请求,并在请求的url中添加动态参数 {@code parameterMap}
*
* @param httpHeaders 自定义HttpHeaders
* @param url 请求的url,url中可以包含占位符{0}, {1}, {n}
* @param parameterMap 请求的参数,将会添加到url中
* @param responseType 返回的数据类型
* @param uriVariables url中占位符的参数值
* @param <T> 泛型
* @return 请求结果
*/
public static <T> T getForObject(HttpHeaders httpHeaders, String url, Map<String, String> parameterMap,
Class<T> responseType, Object... uriVariables) {
return RestUtils.getForObject(REST_TEMPLATE, httpHeaders, url, parameterMap, responseType, uriVariables);
}

/**
* 以GET方法发送HTTP请求,并在请求的url中添加动态参数 {@code parameterMap},返回的数据是字符串类型
*
Expand All @@ -192,6 +235,20 @@ public static String getForString(String url, Map<String, String> parameterMap,
return RestUtils.getForString(REST_TEMPLATE, url, parameterMap, uriVariables);
}

/**
* 以GET方法发送HTTP请求,并在请求的url中添加动态参数 {@code parameterMap},返回的数据是字符串类型
*
* @param httpHeaders 自定义HttpHeaders
* @param url 请求的url,url中可以包含占位符{0}, {1}, {n}
* @param parameterMap 请求的参数,将会添加到url中
* @param uriVariables url中占位符的参数值
* @return 请求结果
*/
public static String getForString(HttpHeaders httpHeaders, String url, Map<String, String> parameterMap,
Object... uriVariables) {
return RestUtils.getForString(REST_TEMPLATE, httpHeaders, url, parameterMap, uriVariables);
}

/**
* 以GET方法发送HTTP请求,返回的数据是字符串类型
*
Expand All @@ -203,6 +260,18 @@ public static String getForString(String url, Object... uriVariables) {
return RestUtils.getForString(REST_TEMPLATE, url, uriVariables);
}

/**
* 以GET方法发送HTTP请求,返回的数据是字符串类型
*
* @param httpHeaders 自定义HttpHeaders
* @param url 请求的url,url中可以包含占位符{0}, {1}, {n}
* @param uriVariables url中占位符的参数值
* @return 请求结果
*/
public static String getForString(HttpHeaders httpHeaders, String url, Object... uriVariables) {
return RestUtils.getForString(REST_TEMPLATE, httpHeaders, url, uriVariables);
}

/**
* 以GET方法发送HTTP请求,并在请求的url中添加动态参数 {@code parameterMap}
*
Expand All @@ -218,6 +287,23 @@ public static <T> T getForObject(String url, LinkedMultiValueMap<String, String>
return RestUtils.getForObject(REST_TEMPLATE, url, parameterMap, responseType, uriVariables);
}

/**
* 以GET方法发送HTTP请求,并在请求的url中添加动态参数 {@code parameterMap}
*
* @param httpHeaders 自定义HttpHeaders
* @param url 请求的url,url中可以包含占位符{0}, {1}, {n}
* @param parameterMap 请求的参数,将会添加到url中
* @param responseType 返回的数据类型
* @param uriVariables url中占位符的参数值
* @param <T> 泛型
* @return 请求结果
*/
public static <T> T getForObject(HttpHeaders httpHeaders, String url,
LinkedMultiValueMap<String, String> parameterMap, Class<T> responseType,
Object... uriVariables) {
return RestUtils.getForObject(REST_TEMPLATE, httpHeaders, url, parameterMap, responseType, uriVariables);
}

/**
* 以GET方法发送HTTP请求,并在请求的url中添加动态参数 {@code parameterMap},返回的数据是字符串类型
*
Expand All @@ -230,4 +316,18 @@ public static String getForString(String url, LinkedMultiValueMap<String, String
Object... uriVariables) {
return RestUtils.getForString(REST_TEMPLATE, url, parameterMap, uriVariables);
}

/**
* 以GET方法发送HTTP请求,并在请求的url中添加动态参数 {@code parameterMap},返回的数据是字符串类型
*
* @param httpHeaders 自定义HttpHeaders
* @param url 请求的url,url中可以包含占位符{0}, {1}, {n}
* @param parameterMap 请求的参数,将会添加到url中
* @param uriVariables url中占位符的参数值
* @return 请求结果
*/
public static String getForString(HttpHeaders httpHeaders, String url,
LinkedMultiValueMap<String, String> parameterMap, Object... uriVariables) {
return RestUtils.getForString(REST_TEMPLATE, httpHeaders, url, parameterMap, uriVariables);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,23 @@ public static String postJson(RestTemplate restTemplate, String url, String requ
uriVariables);
}

/**
* 以POST方法发送HTTP请求,请求的内容为JSON
*
* @param restTemplate RestTemplate
* @param httpHeaders 自定义HttpHeaders
* @param url 请求的url,url中可以包含占位符{0}, {1}, {n}
* @param requestBody 请求的内容
* @param uriVariables url中占位符的参数值
* @return 请求结果
*/
public static String postJson(RestTemplate restTemplate, HttpHeaders httpHeaders, String url, String requestBody,
Object... uriVariables) {
URI expanded = restTemplate.getUriTemplateHandler().expand(url, uriVariables);
return exchange(restTemplate, httpHeaders, MediaType.APPLICATION_JSON_UTF8, expanded, HttpMethod.POST,
requestBody, String.class);
}

/**
* 以POST方法发送HTTP请求,请求的内容为form数据格式
*
Expand All @@ -204,6 +221,23 @@ public static String postForm(RestTemplate restTemplate, String url,
String.class, uriVariables);
}

/**
* 以POST方法发送HTTP请求,请求的内容为form数据格式
*
* @param restTemplate RestTemplate
* @param httpHeaders 自定义HttpHeaders
* @param url 请求的url,url中可以包含占位符{0}, {1}, {n}
* @param requestBody 请求的内容
* @param uriVariables url中占位符的参数值
* @return 请求结果
*/
public static String postForm(RestTemplate restTemplate, HttpHeaders httpHeaders, String url,
LinkedMultiValueMap<String, String> requestBody, Object... uriVariables) {
URI expanded = restTemplate.getUriTemplateHandler().expand(url, uriVariables);
return exchange(restTemplate, httpHeaders, MediaType.APPLICATION_FORM_URLENCODED, expanded, HttpMethod.POST,
requestBody, String.class);
}

/**
* 以GET方法发送HTTP请求,并在请求的url中添加动态参数 {@code parameterMap}
*
Expand All @@ -221,6 +255,24 @@ public static <T> T getForObject(RestTemplate restTemplate, String url, Map<Stri
return exchange(restTemplate, null, uri, HttpMethod.GET, null, responseType);
}

/**
* 以GET方法发送HTTP请求,并在请求的url中添加动态参数 {@code parameterMap}
*
* @param restTemplate RestTemplate
* @param httpHeaders 自定义HttpHeaders
* @param url 请求的url,url中可以包含占位符{0}, {1}, {n}
* @param parameterMap 请求的参数,将会添加到url中
* @param responseType 返回的数据类型
* @param uriVariables url中占位符的参数值
* @param <T> 泛型
* @return 请求结果
*/
public static <T> T getForObject(RestTemplate restTemplate, HttpHeaders httpHeaders, String url,
Map<String, String> parameterMap, Class<T> responseType, Object... uriVariables) {
URI uri = uriBuild2(url, parameterMap, uriVariables).toUri();
return exchange(restTemplate, httpHeaders, null, uri, HttpMethod.GET, null, responseType);
}

/**
* 以GET方法发送HTTP请求,并在请求的url中添加动态参数 {@code parameterMap},返回的数据是字符串类型
*
Expand All @@ -235,6 +287,21 @@ public static String getForString(RestTemplate restTemplate, String url, Map<Str
return getForObject(restTemplate, url, parameterMap, String.class, uriVariables);
}

/**
* 以GET方法发送HTTP请求,并在请求的url中添加动态参数 {@code parameterMap},返回的数据是字符串类型
*
* @param restTemplate RestTemplate
* @param httpHeaders 自定义HttpHeaders
* @param url 请求的url,url中可以包含占位符{0}, {1}, {n}
* @param parameterMap 请求的参数,将会添加到url中
* @param uriVariables url中占位符的参数值
* @return 请求结果
*/
public static String getForString(RestTemplate restTemplate, HttpHeaders httpHeaders, String url,
Map<String, String> parameterMap, Object... uriVariables) {
return getForObject(restTemplate, httpHeaders, url, parameterMap, String.class, uriVariables);
}

/**
* 以GET方法发送HTTP请求,返回的数据是字符串类型
*
Expand All @@ -247,6 +314,21 @@ public static String getForString(RestTemplate restTemplate, String url, Object.
return exchange(restTemplate, null, url, HttpMethod.GET, null, String.class, uriVariables);
}

/**
* 以GET方法发送HTTP请求,返回的数据是字符串类型
*
* @param restTemplate RestTemplate
* @param httpHeaders 自定义HttpHeaders
* @param url 请求的url,url中可以包含占位符{0}, {1}, {n}
* @param uriVariables url中占位符的参数值
* @return 请求结果
*/
public static String getForString(RestTemplate restTemplate, HttpHeaders httpHeaders, String url,
Object... uriVariables) {
URI expanded = restTemplate.getUriTemplateHandler().expand(url, uriVariables);
return exchange(restTemplate, httpHeaders, null, expanded, HttpMethod.GET, null, String.class);
}

/**
* 以GET方法发送HTTP请求,并在请求的url中添加动态参数 {@code parameterMap}
*
Expand All @@ -265,6 +347,25 @@ public static <T> T getForObject(RestTemplate restTemplate, String url,
return exchange(restTemplate, null, uri, HttpMethod.GET, null, responseType);
}

/**
* 以GET方法发送HTTP请求,并在请求的url中添加动态参数 {@code parameterMap}
*
* @param restTemplate RestTemplate
* @param httpHeaders 自定义HttpHeaders
* @param url 请求的url,url中可以包含占位符{0}, {1}, {n}
* @param parameterMap 请求的参数,将会添加到url中
* @param responseType 返回的数据类型
* @param uriVariables url中占位符的参数值
* @param <T> 泛型
* @return 请求结果
*/
public static <T> T getForObject(RestTemplate restTemplate, HttpHeaders httpHeaders, String url,
LinkedMultiValueMap<String, String> parameterMap, Class<T> responseType,
Object... uriVariables) {
URI uri = uriBuild(url, parameterMap, uriVariables).toUri();
return exchange(restTemplate, httpHeaders, null, uri, HttpMethod.GET, null, responseType);
}

/**
* 以GET方法发送HTTP请求,并在请求的url中添加动态参数 {@code parameterMap},返回的数据是字符串类型
*
Expand All @@ -279,6 +380,21 @@ public static String getForString(RestTemplate restTemplate, String url,
return getForObject(restTemplate, url, parameterMap, String.class, uriVariables);
}

/**
* 以GET方法发送HTTP请求,并在请求的url中添加动态参数 {@code parameterMap},返回的数据是字符串类型
*
* @param restTemplate RestTemplate
* @param httpHeaders 自定义HttpHeaders
* @param url 请求的url,url中可以包含占位符{0}, {1}, {n}
* @param parameterMap 请求的参数,将会添加到url中
* @param uriVariables url中占位符的参数值
* @return 请求结果
*/
public static String getForString(RestTemplate restTemplate, HttpHeaders httpHeaders, String url,
LinkedMultiValueMap<String, String> parameterMap, Object... uriVariables) {
return getForObject(restTemplate, httpHeaders, url, parameterMap, String.class, uriVariables);
}

/**
* 将集合对象转换成 application/x-www-form-urlencoded 表单数据格式
*
Expand Down

0 comments on commit ceeaf1a

Please sign in to comment.