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<String, Object> paramMap){
|
HttpHeaders headers = new HttpHeaders();
|
HttpMethod method = HttpMethod.POST;
|
// 设置以表单的方式提交
|
headers.add("Content-Type", MediaType.MULTIPART_FORM_DATA_VALUE);
|
HttpEntity< MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(paramMap, headers);
|
String results= null;
|
try {
|
ResponseEntity<String> 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<String, Object> paramMap){
|
HttpHeaders headers = new HttpHeaders();
|
HttpMethod method = HttpMethod.POST;
|
// 设置以表单的方式提交
|
headers.add("Content-Type", MediaType.MULTIPART_FORM_DATA_VALUE);
|
HttpEntity< MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(paramMap, headers);
|
String results= null;
|
try {
|
ResponseEntity<String> 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;
|
}
|
|
|
}
|