import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.support.config.FastJsonConfig; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; import lombok.extern.slf4j.Slf4j; import org.springframework.http.*; import org.springframework.http.client.OkHttp3ClientHttpRequestFactory; import org.springframework.http.converter.*; import org.springframework.http.converter.xml.SourceHttpMessageConverter; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate;
import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map;
@Slf4j public class HttpUtil {
static RestTemplate restTemplate;
static { OkHttp3ClientHttpRequestFactory requestFactory = new OkHttp3ClientHttpRequestFactory(); requestFactory.setConnectTimeout(10000); requestFactory.setReadTimeout(10000); restTemplate = new RestTemplate(requestFactory);
FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter(); FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures( SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty, SerializerFeature.WriteNullListAsEmpty, SerializerFeature.DisableCircularReferenceDetect); fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
List<MediaType> mediaTypes = new ArrayList<>(fastJsonHttpMessageConverter.getSupportedMediaTypes()); mediaTypes.add(MediaType.TEXT_PLAIN); fastJsonHttpMessageConverter.setSupportedMediaTypes(mediaTypes);
List<HttpMessageConverter<?>> messageConverters = Arrays.asList( new ByteArrayHttpMessageConverter(), new StringHttpMessageConverter(Charset.forName("utf-8")), new ResourceHttpMessageConverter(), new SourceHttpMessageConverter<>(), new FormHttpMessageConverter(), fastJsonHttpMessageConverter ); restTemplate.setMessageConverters(messageConverters);
}
public static <T> ResponseEntity<T> get(String url, Class<T> responseType) throws RestClientException { return restTemplate.getForEntity(url, responseType); }
public static <T> ResponseEntity<T> get(String url, Class<T> responseType, Object... uriVariables) throws RestClientException { return restTemplate.getForEntity(url, responseType, uriVariables); }
public static <T> ResponseEntity<T> get(String url, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { return restTemplate.getForEntity(url, responseType, uriVariables); }
public static <T> ResponseEntity<T> get(String url, Map<String, String> headers, Class<T> responseType, Object... uriVariables) throws RestClientException { HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setAll(headers); return HttpUtil.get(url, httpHeaders, responseType, uriVariables); }
public static <T> ResponseEntity<T> get(String url, HttpHeaders headers, Class<T> responseType, Object... uriVariables) throws RestClientException { HttpEntity<?> requestEntity = new HttpEntity<>(headers); return HttpUtil.exchange(url, HttpMethod.GET, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> get(String url, Map<String, String> headers, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setAll(headers); return HttpUtil.get(url, httpHeaders, responseType, uriVariables); }
public static <T> ResponseEntity<T> get(String url, HttpHeaders headers, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { HttpEntity<?> requestEntity = new HttpEntity<>(headers); return HttpUtil.exchange(url, HttpMethod.GET, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> post(String url, Class<T> responseType) throws RestClientException { return restTemplate.postForEntity(url, HttpEntity.EMPTY, responseType); }
public static <T> ResponseEntity<T> post(String url, Object requestBody, Class<T> responseType) throws RestClientException { return restTemplate.postForEntity(url, requestBody, responseType); }
public static <T> ResponseEntity<T> post(String url, Object requestBody, Class<T> responseType, Object... uriVariables) throws RestClientException { return restTemplate.postForEntity(url, requestBody, responseType, uriVariables); }
public static <T> ResponseEntity<T> post(String url, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { return restTemplate.postForEntity(url, requestBody, responseType, uriVariables); }
public static <T> ResponseEntity<T> post(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Object... uriVariables) throws RestClientException { HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setAll(headers); return HttpUtil.post(url, httpHeaders, requestBody, responseType, uriVariables); }
public static <T> ResponseEntity<T> post(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Object... uriVariables) throws RestClientException { HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers); return HttpUtil.post(url, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> post(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setAll(headers); return HttpUtil.post(url, httpHeaders, requestBody, responseType, uriVariables); }
public static <T> ResponseEntity<T> post(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers); return HttpUtil.post(url, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> post(String url, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) throws RestClientException { return restTemplate.exchange(url, HttpMethod.POST, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> post(String url, HttpEntity<?> requestEntity, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { return restTemplate.exchange(url, HttpMethod.POST, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> put(String url, Class<T> responseType, Object... uriVariables) throws RestClientException { return put(url, HttpEntity.EMPTY, responseType, uriVariables); }
public static <T> ResponseEntity<T> put(String url, Object requestBody, Class<T> responseType, Object... uriVariables) throws RestClientException { HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody); return put(url, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> put(String url, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody); return put(url, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> put(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Object... uriVariables) throws RestClientException { HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setAll(headers); return put(url, httpHeaders, requestBody, responseType, uriVariables); }
public static <T> ResponseEntity<T> put(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Object... uriVariables) throws RestClientException { HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers); return put(url, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> put(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setAll(headers); return put(url, httpHeaders, requestBody, responseType, uriVariables); }
public static <T> ResponseEntity<T> put(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers); return put(url, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> put(String url, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) throws RestClientException { return restTemplate.exchange(url, HttpMethod.PUT, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> put(String url, HttpEntity<?> requestEntity, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { return restTemplate.exchange(url, HttpMethod.PUT, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> delete(String url, Class<T> responseType, Object... uriVariables) throws RestClientException { return delete(url, HttpEntity.EMPTY, responseType, uriVariables); }
public static <T> ResponseEntity<T> delete(String url, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { return HttpUtil.delete(url, HttpEntity.EMPTY, responseType, uriVariables); }
public static <T> ResponseEntity<T> delete(String url, Object requestBody, Class<T> responseType, Object... uriVariables) throws RestClientException { HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody); return HttpUtil.delete(url, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> delete(String url, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody); return HttpUtil.delete(url, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> delete(String url, Map<String, String> headers, Class<T> responseType, Object... uriVariables) throws RestClientException { HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setAll(headers); return HttpUtil.delete(url, httpHeaders, responseType, uriVariables); }
public static <T> ResponseEntity<T> delete(String url, HttpHeaders headers, Class<T> responseType, Object... uriVariables) throws RestClientException { HttpEntity<Object> requestEntity = new HttpEntity<Object>(headers); return HttpUtil.delete(url, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> delete(String url, Map<String, String> headers, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setAll(headers); return HttpUtil.delete(url, httpHeaders, responseType, uriVariables); }
public static <T> ResponseEntity<T> delete(String url, HttpHeaders headers, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { HttpEntity<Object> requestEntity = new HttpEntity<Object>(headers); return HttpUtil.delete(url, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> delete(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Object... uriVariables) throws RestClientException { HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setAll(headers); return HttpUtil.delete(url, httpHeaders, requestBody, responseType, uriVariables); }
public static <T> ResponseEntity<T> delete(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Object... uriVariables) throws RestClientException { HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers); return HttpUtil.delete(url, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> delete(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setAll(headers); return HttpUtil.delete(url, httpHeaders, requestBody, responseType, uriVariables); }
public static <T> ResponseEntity<T> delete(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers); return HttpUtil.delete(url, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> delete(String url, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) throws RestClientException { return restTemplate.exchange(url, HttpMethod.DELETE, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> delete(String url, HttpEntity<?> requestEntity, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { return restTemplate.exchange(url, HttpMethod.DELETE, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) throws RestClientException { return restTemplate.exchange(url, method, requestEntity, responseType, uriVariables); }
public static <T> ResponseEntity<T> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException { return restTemplate.exchange(url, method, requestEntity, responseType, uriVariables); }
}
|