import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.web.client.RestTemplate;
//部分导包如上
HttpHeaders headers=new HttpHeaders();
MediaType type=MediaType.parseMediaType("application/json; charset=UTF-8");
headers.setContentType(type);
headers.add("Accept", MediaType.APPLICATION_JSON.toString());
Map<String,String> requestBody=new HashMap();
requestBody.put("参数名1",参数值1);//调用接口需要传递的参数
requestBody.put("参数名2","参数值2");
System.out.println("调用接口前参数:===============================");
System.out.println(requestBody.toString());
HttpEntity<Map<String,String>> requestEntity=new HttpEntity<>(requestBody,headers);
SimpleClientHttpRequestFactory requestFactory=new SimpleClientHttpRequestFactory();
requestFactory.setConnectTimeout(60*1000);
RestTemplate restTemplate=new RestTemplate(requestFactory);
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));//解决乱码的关键句子
//fileFromUrl变量在yml中配置的请求接口路径
System.out.println(fileFromUrl);
String backString=restTemplate.postForObject(fileFromUrl, requestEntity, String.class);
System.out.println("调用接口后返回:===============================");
System.out.println(backString);
if(!"".equals(backString)){
JSONObject backJSON=JSONObject.fromObject(backString);
}
================================远程接口测试==========================
在linux环境下测试:(前提安装了curl)
curl -H "Content-Type:application/json" -X POST -d '{"参数名1":"参数值1","参数名2":"参数值2"}' "接口ip:接口端口号/接口访问的方法连接"
|