package com.whyc.util; import com.whyc.dto.ResultA200Dto; import com.whyc.dto.ResultActmDto; import com.whyc.dto.ResultActmBaseDto; import org.springframework.http.*; import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; public class TestParamHttpUtil { //post请求传入form-data 格式 public static Object postForFormDataA200( RestTemplate restTemplate,String url, MultiValueMap paramMap){ HttpHeaders headers = new HttpHeaders(); HttpMethod method = HttpMethod.POST; // 设置以表单的方式提交 headers.add("Content-Type", MediaType.MULTIPART_FORM_DATA_VALUE); HttpEntity< MultiValueMap> requestEntity = new HttpEntity<>(paramMap, headers); String results= null; try { ResponseEntity response = restTemplate.exchange(url, method, requestEntity,String.class ); results = response.getBody(); } catch (RestClientException e) { results=" {\n" + " \"code\": \"205\",\n" + " \"msg\": \"接口调用出错\",\n" + " \"data\": null,\n" + " \"count\": 0\n" + " }"; } if(results==null){ results=" {\n" + " \"code\": \"0\",\n" + " \"msg\": \"接口调用无返回\",\n" + " \"data\": null,\n" + " \"count\": 0\n" + " }"; } Object dto= ActionUtil.getGson().fromJson(results, ResultA200Dto.class); return dto; } //post请求传入form-data 格式 public static ResultActmBaseDto postForFormDataActm( RestTemplate restTemplate,String url, MultiValueMap paramMap){ HttpHeaders headers = new HttpHeaders(); HttpMethod method = HttpMethod.POST; // 设置以表单的方式提交 headers.add("Content-Type", MediaType.MULTIPART_FORM_DATA_VALUE); HttpEntity< MultiValueMap> requestEntity = new HttpEntity<>(paramMap, headers); String results= null; try { ResponseEntity response = restTemplate.exchange(url, method, requestEntity,String.class ); results = response.getBody(); } catch (RestClientException e) { results=" {\n" + " \"code\": \"205\",\n" + " \"msg\": \"接口调用出错\",\n" + " \"data\": null,\n" + " \"count\": 0\n" + " }"; } if(results==null){ results=" {\n" + " \"code\": \"0\",\n" + " \"msg\": \"接口调用无返回\",\n" + " \"data\": null,\n" + " \"count\": 0\n" + " }"; } //对results字符串进行去空格处理,查看是否存在"code":200的字符串 String resultsAfter = results.replaceAll("\\s*",""); ResultActmBaseDto dto; if(resultsAfter.contains("code\":200")){ dto= ActionUtil.getGson().fromJson(results, ResultActmDto.class); }else{ dto= ActionUtil.getGson().fromJson(results, ResultActmBaseDto.class); } return dto; } }