一,响应端url是可自定义的
1.get
RestTemplate rest = new RestTemplate();
String url = "/testGet/{id}";//响应端的url要一致 /testGet/{id}
rest.getForObject(url, String.class);
RestTemplate rest = new RestTemplate();
String url = "/testPost/{id}";//响应端的url要一致 /testGet/{id}
Object requestObject = new Object();//可以是自定义的bean,服务端要用 @requestBody注解接参数
rest.postForEntity(url, requestObject, String.class);
1.get 带sessionId
RestTemplate rest = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
headers.set("Cookie", sessionId);//JSESSIONID=0C5BF68C4C817D7D68BE840BEA436377
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<MultiValueMap<String, String>>(null, headers);
ResponseEntity<String> response = rest.exchange( "url", HttpMethod.GET, requestEntity , String.class );
2.post 模拟form提交文本,参数要用MultiValueMap不能用map
RestTemplate rest = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
headers.set("Cookie", sessionId);//JSESSIONID=0C5BF68C4C817D7D68BE840BEA436377
MultiValueMap<String, String> param = new LinkedMultiValueMap<String, String>();
param.add("name", "testName");
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<MultiValueMap<String, String>>(param, headers);
String url = Constants.DISCONF_WEB+"api/app";
ResponseEntity<String> response = rest.postForEntity(url, requestEntity, String.class);
3.put,delete 和(二,1)基本相实,修改下 HttpMethod.PUT 或 HttpMethod.DELETE
4.post 提交文件待续...