SpringBoot网络请求RestTemplate Util工具类
- 1. 配置RestTemplate
- 2.RestTemplateUtil工具类
1. 配置RestTemplate
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;@Configuration
public class RestTemplateConfig {@Beanpublic RestTemplate restTemplate() {SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();requestFactory.setConnectTimeout(60000);requestFactory.setReadTimeout(60000);RestTemplate restTemplate = new RestTemplate(requestFactory);return restTemplate;}}
2.RestTemplateUtil工具类
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.Component;
import org.springframework.web.client.RestTemplate;
@Component
public class RestTemplateUtil {@Autowiredprivate RestTemplate restTemplate;public String post(String url, String data) {HttpHeaders headers = new HttpHeaders();headers.add("Accept", "application/json");headers.add("Content-Encoding", "UTF-8");headers.add("Content-Type", "application/json; charset=UTF-8");HttpEntity<String> requestEntity = new HttpEntity<>(data, headers);return restTemplate.postForObject(url, requestEntity, String.class);}public String get(String url, String token) {HttpHeaders headers = new HttpHeaders();headers.add("Accept", "application/json");headers.add("Content-Encoding", "UTF-8");headers.add("Content-Type", "application/json; charset=UTF-8");if (token != null) {headers.add("Authorization", token);}HttpEntity<String> requestEntity = new HttpEntity<>(null, headers);ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, requestEntity, String.class);String responseBody = response.getBody();return responseBody;}public <T> T getWithSession(String url, String sessionId, Class<T> responseType, Object... uriVariables) {HttpHeaders httpHeaders = new HttpHeaders();httpHeaders.add("session_id", sessionId);return get(url, httpHeaders, responseType, uriVariables).getBody();}public <T> ResponseEntity<T> get(String url, Class<T> responseType) {return restTemplate.getForEntity(url, responseType);}public <T> ResponseEntity<T> get(String url, Class<T> responseType, Object... uriVariables) {return restTemplate.getForEntity(url, responseType, uriVariables);}public <T> ResponseEntity<T> get(String url, Class<T> responseType, Map<String, ?> uriVariables) {return restTemplate.getForEntity(url, responseType, uriVariables);}public <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);}public <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);}public <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);}public <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);}public <T> ResponseEntity<T> post(String url, Class<T> responseType) {return restTemplate.postForEntity(url, HttpEntity.EMPTY, responseType);}public <T> ResponseEntity<T> post(String url, Object requestBody, Class<T> responseType) {return restTemplate.postForEntity(url, requestBody, responseType);}public <T> ResponseEntity<T> post(String url, Object requestBody, Class<T> responseType, Object... uriVariables) {return restTemplate.postForEntity(url, requestBody, responseType, uriVariables);}public <T> ResponseEntity<T> post(String url, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {return restTemplate.postForEntity(url, requestBody, responseType, uriVariables);}public <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);}public <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);}public <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);}public <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);}public <T> ResponseEntity<T> post(String url, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) {return restTemplate.exchange(url, HttpMethod.POST, requestEntity, responseType, uriVariables);}public <T> ResponseEntity<T> post(String url, HttpEntity<?> requestEntity, Class<T> responseType, Map<String, ?> uriVariables) {return restTemplate.exchange(url, HttpMethod.POST, requestEntity, responseType, uriVariables);}public <T> ResponseEntity<T> put(String url, Class<T> responseType, Object... uriVariables) {return put(url, HttpEntity.EMPTY, responseType, uriVariables);}public <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);}public <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);}public <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);}public <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);}public <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);}public <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);}public <T> ResponseEntity<T> put(String url, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) {return restTemplate.exchange(url, HttpMethod.PUT, requestEntity, responseType, uriVariables);}public <T> ResponseEntity<T> put(String url, HttpEntity<?> requestEntity, Class<T> responseType, Map<String, ?> uriVariables) {return restTemplate.exchange(url, HttpMethod.PUT, requestEntity, responseType, uriVariables);}public <T> ResponseEntity<T> delete(String url, Class<T> responseType, Object... uriVariables) {return delete(url, HttpEntity.EMPTY, responseType, uriVariables);}public <T> ResponseEntity<T> delete(String url, Class<T> responseType, Map<String, ?> uriVariables) {return delete(url, HttpEntity.EMPTY, responseType, uriVariables);}public <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);}public <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);}public <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);}public <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);}public <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);}public <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);}public <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);}public <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);}public <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);}public <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);}public <T> ResponseEntity<T> delete(String url, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) {return restTemplate.exchange(url, HttpMethod.DELETE, requestEntity, responseType, uriVariables);}public <T> ResponseEntity<T> delete(String url, HttpEntity<?> requestEntity, Class<T> responseType, Map<String, ?> uriVariables) {return restTemplate.exchange(url, HttpMethod.DELETE, requestEntity, responseType, uriVariables);}public <T> ResponseEntity<T> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) {return restTemplate.exchange(url, method, requestEntity, responseType, uriVariables);}public <T> ResponseEntity<T> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, Class<T> responseType, Map<String, ?> uriVariables) {return restTemplate.exchange(url, method, requestEntity, responseType, uriVariables);}}