RestTemplate方法总结
一、postForObject方法(含请求头)
MultiValueMap<String, Object> para = new LinkedMultiValueMap<>();//非请求头参数 路径参数(body参数) para.add("SFCODE", sfcode); para.add("PAGE_NO", pageNo); para.add("PAGE_SIZE", pageSize); HttpHeaders requestHeaders = new HttpHeaders(); requestHeaders.set("ACTION","RP001");//自定义header参数 HttpEntity<MultiValueMap> requestEntity =new HttpEntity<MultiValueMap>(para, requestHeaders); String result = restTemplate.postForObject("http://ip:port/test/method", requestEntity, String.class); System.out.print(result);
二、getForObject方法
public static JSONObject httpsRequest(String url, String method, String msg){ RestTemplate restTemplate = new RestTemplate();
//处理编码乱码
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(Charset.forName("UTF-8"))); JSONObject json = null; if ("GET".equals(method)){ json = restTemplate.getForObject(url,JSONObject.class); }else{ json = restTemplate.postForObject(url,msg,JSONObject.class); } return json; }
乱码参考连接:https://qa.1r1g.com/sf/ask/1932264771/