当前位置:网站首页>Resttemplate remote call tool class
Resttemplate remote call tool class
2022-07-01 22:39:00 【Yang Zongde】
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import java.util.Map;
/** * RestTemplate Remote call tool class * @author yzd */
@Service
public class RestTemplateUtil {
private static RestTemplate restTemplate;
@Autowired
public void setRestTemplate(RestTemplate restTemplate) {
RestTemplateUtil.restTemplate = restTemplate;
}
// ----------------------------------GET-------------------------------------------------------
/** * GET Request call mode * * @param url request URL * @param responseType Return object type * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> get(String url, Class<T> responseType) {
return restTemplate.getForEntity(url, responseType);
}
/** * GET Request call mode * * @param url request URL * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> get(String url, Class<T> responseType, Object... uriVariables) {
return restTemplate.getForEntity(url, responseType, uriVariables);
}
/** * GET Request call mode * * @param url request URL * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> get(String url, Class<T> responseType, Map<String, ?> uriVariables) {
return restTemplate.getForEntity(url, responseType, uriVariables);
}
/** * With request header GET Request call mode * * @param url request URL * @param headers Request header parameters * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> get(String url, Map<String, String> headers, Class<T> responseType, Object... uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return get(url, httpHeaders, responseType, uriVariables);
}
/** * With request header GET Request call mode * * @param url request URL * @param headers Request header parameters * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> get(String url, HttpHeaders headers, Class<T> responseType, Object... uriVariables) {
HttpEntity<?> requestEntity = new HttpEntity<>(headers);
return exchange(url, HttpMethod.GET, requestEntity, responseType, uriVariables);
}
/** * With request header GET Request call mode * * @param url request URL * @param headers Request header parameters * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> get(String url, Map<String, String> headers, Class<T> responseType, Map<String, ?> uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return get(url, httpHeaders, responseType, uriVariables);
}
/** * With request header GET Request call mode * * @param url request URL * @param headers Request header parameters * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> get(String url, HttpHeaders headers, Class<T> responseType, Map<String, ?> uriVariables) {
HttpEntity<?> requestEntity = new HttpEntity<>(headers);
return exchange(url, HttpMethod.GET, requestEntity, responseType, uriVariables);
}
// ----------------------------------POST-------------------------------------------------------
/** * POST Request call mode * * @param url request URL * @param responseType Return object type * @return */
public static <T> ResponseEntity<T> post(String url, Class<T> responseType) {
return restTemplate.postForEntity(url, HttpEntity.EMPTY, responseType);
}
/** * POST Request call mode * * @param url request URL * @param requestBody Request parameter body * @param responseType Return object type * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> post(String url, Object requestBody, Class<T> responseType) {
return restTemplate.postForEntity(url, requestBody, responseType);
}
/** * POST Request call mode * * @param url request URL * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> post(String url, Object requestBody, Class<T> responseType, Object... uriVariables) {
return restTemplate.postForEntity(url, requestBody, responseType, uriVariables);
}
/** * POST Request call mode * * @param url request URL * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> post(String url, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
return restTemplate.postForEntity(url, requestBody, responseType, uriVariables);
}
/** * With request header POST Request call mode * * @param url request URL * @param headers Request header parameters * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> post(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Object... uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return post(url, httpHeaders, requestBody, responseType, uriVariables);
}
/** * With request header POST Request call mode * * @param url request URL * @param headers Request header parameters * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> post(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Object... uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers);
return post(url, requestEntity, responseType, uriVariables);
}
/** * With request header POST Request call mode * * @param url request URL * @param headers Request header parameters * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> post(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return post(url, httpHeaders, requestBody, responseType, uriVariables);
}
/** * With request header POST Request call mode * * @param url request URL * @param headers Request header parameters * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> post(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers);
return post(url, requestEntity, responseType, uriVariables);
}
/** * Custom request header and request body POST Request call mode * * @param url request URL * @param requestEntity Request headers and request bodies encapsulate objects * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> post(String url, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) {
return restTemplate.exchange(url, HttpMethod.POST, requestEntity, responseType, uriVariables);
}
/** * Custom request header and request body POST Request call mode * * @param url request URL * @param requestEntity Request headers and request bodies encapsulate objects * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> post(String url, HttpEntity<?> requestEntity, Class<T> responseType, Map<String, ?> uriVariables) {
return restTemplate.exchange(url, HttpMethod.POST, requestEntity, responseType, uriVariables);
}
// ----------------------------------PUT-------------------------------------------------------
/** * PUT Request call mode * * @param url request URL * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> put(String url, Class<T> responseType, Object... uriVariables) {
return put(url, HttpEntity.EMPTY, responseType, uriVariables);
}
/** * PUT Request call mode * * @param url request URL * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> put(String url, Object requestBody, Class<T> responseType, Object... uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody);
return put(url, requestEntity, responseType, uriVariables);
}
/** * PUT Request call mode * * @param url request URL * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> put(String url, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody);
return put(url, requestEntity, responseType, uriVariables);
}
/** * With request header PUT Request call mode * * @param url request URL * @param headers Request header parameters * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> put(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Object... uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return put(url, httpHeaders, requestBody, responseType, uriVariables);
}
/** * With request header PUT Request call mode * * @param url request URL * @param headers Request header parameters * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> put(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Object... uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers);
return put(url, requestEntity, responseType, uriVariables);
}
/** * With request header PUT Request call mode * * @param url request URL * @param headers Request header parameters * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> put(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return put(url, httpHeaders, requestBody, responseType, uriVariables);
}
/** * With request header PUT Request call mode * * @param url request URL * @param headers Request header parameters * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> put(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers);
return put(url, requestEntity, responseType, uriVariables);
}
/** * Custom request header and request body PUT Request call mode * * @param url request URL * @param requestEntity Request headers and request bodies encapsulate objects * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> put(String url, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) {
return restTemplate.exchange(url, HttpMethod.PUT, requestEntity, responseType, uriVariables);
}
/** * Custom request header and request body PUT Request call mode * * @param url request URL * @param requestEntity Request headers and request bodies encapsulate objects * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> put(String url, HttpEntity<?> requestEntity, Class<T> responseType, Map<String, ?> uriVariables) {
return restTemplate.exchange(url, HttpMethod.PUT, requestEntity, responseType, uriVariables);
}
// ----------------------------------DELETE-------------------------------------------------------
/** * DELETE Request call mode * * @param url request URL * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> delete(String url, Class<T> responseType, Object... uriVariables) {
return delete(url, HttpEntity.EMPTY, responseType, uriVariables);
}
/** * DELETE Request call mode * * @param url request URL * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> delete(String url, Class<T> responseType, Map<String, ?> uriVariables) {
return delete(url, HttpEntity.EMPTY, responseType, uriVariables);
}
/** * DELETE Request call mode * * @param url request URL * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> delete(String url, Object requestBody, Class<T> responseType, Object... uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody);
return delete(url, requestEntity, responseType, uriVariables);
}
/** * DELETE Request call mode * * @param url request URL * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> delete(String url, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody);
return delete(url, requestEntity, responseType, uriVariables);
}
/** * With request header DELETE Request call mode * * @param url request URL * @param headers Request header parameters * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> delete(String url, Map<String, String> headers, Class<T> responseType, Object... uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return delete(url, httpHeaders, responseType, uriVariables);
}
/** * With request header DELETE Request call mode * * @param url request URL * @param headers Request header parameters * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> delete(String url, HttpHeaders headers, Class<T> responseType, Object... uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(headers);
return delete(url, requestEntity, responseType, uriVariables);
}
/** * With request header DELETE Request call mode * * @param url request URL * @param headers Request header parameters * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> delete(String url, Map<String, String> headers, Class<T> responseType, Map<String, ?> uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return delete(url, httpHeaders, responseType, uriVariables);
}
/** * With request header DELETE Request call mode * * @param url request URL * @param headers Request header parameters * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> delete(String url, HttpHeaders headers, Class<T> responseType, Map<String, ?> uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(headers);
return delete(url, requestEntity, responseType, uriVariables);
}
/** * With request header DELETE Request call mode * * @param url request URL * @param headers Request header parameters * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> delete(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Object... uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return delete(url, httpHeaders, requestBody, responseType, uriVariables);
}
/** * With request header DELETE Request call mode * * @param url request URL * @param headers Request header parameters * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> delete(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Object... uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers);
return delete(url, requestEntity, responseType, uriVariables);
}
/** * With request header DELETE Request call mode * * @param url request URL * @param headers Request header parameters * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> delete(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return delete(url, httpHeaders, requestBody, responseType, uriVariables);
}
/** * With request header DELETE Request call mode * * @param url request URL * @param headers Request header parameters * @param requestBody Request parameter body * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> delete(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers);
return delete(url, requestEntity, responseType, uriVariables);
}
/** * Custom request header and request body DELETE Request call mode * * @param url request URL * @param requestEntity Request headers and request bodies encapsulate objects * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> delete(String url, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) {
return restTemplate.exchange(url, HttpMethod.DELETE, requestEntity, responseType, uriVariables);
}
/** * Custom request header and request body DELETE Request call mode * * @param url request URL * @param requestEntity Request headers and request bodies encapsulate objects * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> delete(String url, HttpEntity<?> requestEntity, Class<T> responseType, Map<String, ?> uriVariables) {
return restTemplate.exchange(url, HttpMethod.DELETE, requestEntity, responseType, uriVariables);
}
// ---------------------------------- Common methods -------------------------------------------------------
/** * General calling method * * @param url request URL * @param method Request method type * @param requestEntity Request headers and request bodies encapsulate objects * @param responseType Return object type * @param uriVariables URL The variables in the , Correspond to... In order * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) {
return restTemplate.exchange(url, method, requestEntity, responseType, uriVariables);
}
/** * General calling method * * @param url request URL * @param method Request method type * @param requestEntity Request headers and request bodies encapsulate objects * @param responseType Return object type * @param uriVariables URL The variables in the , And Map Medium key Corresponding * @return ResponseEntity Response object encapsulation class */
public static <T> ResponseEntity<T> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, Class<T> responseType, Map<String, ?> uriVariables) {
return restTemplate.exchange(url, method, requestEntity, responseType, uriVariables);
}
/** * obtain RestTemplate Instance object , You are free to call its methods * * @return RestTemplate Instance object */
public static RestTemplate getRestTemplate() {
return restTemplate;
}
}
边栏推荐
- 【JetCache】JetCache的使用方法与步骤
- RestTemplate 远程调用工具类
- 完全注解的ssm框架搭建
- 分享一个一年经历两次裁员的程序员的一些感触
- 20220701
- 使用 Three.js 实现'雪糕'地球,让地球也凉爽一夏
- CNN convolution neural network principle explanation + image recognition application (with source code) [easy to understand]
- 【MySQL】explain的基本使用以及各列的作用
- The leader of the cloud native theme group of beacon Committee has a long way to go!
- #yyds干货盘点# 解决名企真题:扭蛋机
猜你喜欢
随机推荐
Recent public ancestor (LCA) online practices
Gaussdb (DWS) active prevention and troubleshooting
H5 model trained by keras to tflite
Make a three digit number of all daffodils "recommended collection"
微信开放平台扫码登录[通俗易懂]
MySQL的存储过程
【MySQL】索引的分类
Training on the device with MIT | 256Kb memory
mysql 学习笔记-优化之SQL优化
【日常训练】326. 3 的幂
Icml2022 | interventional contrastive learning based on meta semantic regularization
详解LockSupport的使用
keras训练的H5模型转tflite
Clean up system cache and free memory under Linux
灵动微 MM32 多路ADC-DMA配置
使用 Three.js 实现'雪糕'地球,让地球也凉爽一夏
String type conversion BigDecimal, date type
为什么数字化转型战略必须包括持续测试?
Separate the letters and numbers in the string so that the letters come first and the array comes last
Mask wearing detection method based on yolov5