1.json请求
RestTemplate restTemplate = new RestTemplate();
@Value("${url}")
private String url;
@Value("${email}")
private String email;
@Value("${message}")
private String message;
@Override
@Async
public String sendEmail(String requestString){
String sendEmailUrl = url + email;
restTemplate.getMessageConverters().set(1,new StringHttpMessageConverter(StandardCharsets.UTF_8));
return restTemplate.postForObject(sendEmailUrl, requestString,String.class);
}
2.form表单请求
@Value("${customer.cabalaurl:}")
private String url;
@Async
public void insertCustomer(String requestString){
System.out.println("同步cabala信息");
String sendUrl = url ;
RestTemplate client = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
//提交方式都是表单提交
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
//封装参数,千万不要替换为Map与HashMap,否则参数无法传递
//MultiValueMap<String, String> params= JSON.parseObject(requestString,LinkedMultiValueMap.class);
Map<String, Object> map= JSON.parseObject(requestString, Map.class);
MultiValueMap params = new LinkedMultiValueMap();
for(Iterator<Map.Entry<String, Object>> itr = map.entrySet().iterator(); itr.hasNext();){
Map.Entry<String, Object> entry = itr.next();
String key = entry.getKey();
String value = entry.getValue()+"";
params.put(key, new ArrayList(Arrays.asList(value)));
}
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<MultiValueMap<String, String>>(params, headers);
// 执行HTTP请求
System.out.println("url:"+sendUrl+"参数:"+JSON.toJSONString(requestEntity));
ResponseEntity<String> response = client.exchange(sendUrl, HttpMethod.POST, requestEntity, String.class);
// 输出结果
System.out.println(response.getBody());
}