1、RestTemplate配置类
@Configuration
public class RestTemplateConfig {
@Bean
public RestTemplate restTemplate(ClientHttpRequestFactory factory){
return new RestTemplate(factory);
}
@Bean
public ClientHttpRequestFactory simpleClientHttpRequestFactory(){
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setReadTimeout(5000);//单位为ms
factory.setConnectTimeout(5000);//单位为ms
return factory;
}
}
2、RestTemplate----Get方法调用
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
RestTemplate restTemplate = new RestTemplate();
List<LinkedHashMap> object = restTemplate.getForObject("http://ip:port/getValueBean",java.util.ArrayList.class);
List<ValueBean> list = JSON.parseArray(JSON.toJSONString(object), ValueBean.class);
3、RestTemplate----Post方法调用(传入javaBean)
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
HttpEntity<EquipBean> request = new HttpEntity<>(bean, headers);
RestTemplate restTemplate = new RestTemplate();
ResponseBean responseBean = restTemplate.postForObject("http://ip:port/insertEquip", request, ResponseBean.class);
4、RestTemplate----Post方法调用(传入多参数)
MultiValueMap<String, String> requestEntity = new LinkedMultiValueMap<>();
requestEntity.add("monitorDataIds", monitorDataIds);
RestTemplate restTemplate = new RestTemplate();
restTemplate.postForObject("http://ip:port/deleteMonitorEquip", requestEntity, ResponseBean.class);