RestTemplate请求封装工具类
package com.zkml.logistics.web.utils;
import com.zkml.common.util.MyUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.*;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import java.util.Map;
/**
* RestTemplate请求封装工具类
public class RestTemplateUtil {
private static final Logger logger = LoggerFactory.getLogger(RestTemplateUtil.class);
private static RestTemplate TEMPLATE = new RestTemplate();
/**
* post方式提交实体类
*
* @param url
* @param paramsMap
* @return
*/
public static String postForEntity(String url, Map<String, Object> paramsMap) {
String json = MyUtil.getJsonString(paramsMap);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> httpEntity = new HttpEntity<>(json, headers);
ResponseEntity response = TEMPLATE.postForEntity(url, httpEntity, String.class);
logger.info("RestTemplate result:" + response.getBody());
return response.getBody().toString();
}
/**
* 带mlyToken请求,支持get/post等
*
* @param url
* @param method
* @param paramsMap
* @param mlyToken
* @return
*/
public static String exchangeWithToken(String url, HttpMethod method, Map<String, Object> paramsMap, String mlyToken) {
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", mlyToken);
ResponseEntity response;
if(HttpMethod.POST == method){
String json = MyUtil.getJsonString(paramsMap);
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
HttpEntity httpEntity = new HttpEntity<>(json, headers);
response = TEMPLATE.postForEntity(url, httpEntity, String.class);
}else if (HttpMethod.PUT == method){
String json = MyUtil.getJsonString(paramsMap);
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
HttpEntity httpEntity = new HttpEntity<>(json, headers);
response = TEMPLATE.exchange(url, method, httpEntity, String.class, paramsMap);
}else{
HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<>(null, headers);
response = TEMPLATE.exchange(url, method, httpEntity, String.class, paramsMap);
}
logger.info("RestTemplate请求result:" + response.getBody());
return response.getBody().toString();
}
}