通过RequestEntity设置请求格式、请求体、Headers
代码示例1:
使用RequestEntity设置请求方式、请求体、请求格式、header等,然后
调用restTemplate的exchange方法进行请求,从而得到ResponseEntity返回结果。
RequestEntity<Void> requestEntity = RequestEntity.get(uri).accept(MediaType.APPLICATION_JSON).build();
ResponseEntity<String> response = restTemplate.exchange(requestEntity, String.class);
log.info("Response Status: {}", response.getStatusCode());
log.info("Response Headers: {}", response.getHeaders().toString());
log.info("Coffee: {}", response.getBody());
使用get方式
RequestEntity<Void> requestEntity = RequestEntity.get(uri).accept(MediaType.APPLICATION_JSON).build();
使用post方式
RequestEntity<Object> requestEntity = RequestEntity.post(uri).body(new Object());
使用delete方式
RequestEntity<Void> build = RequestEntity.delete(uri).build();
使用put方式
RequestEntity<Object> body = RequestEntity.put(uri).accept(MediaType.APPLICATION_JSON).body(new Object());
通过RestTemplate调用URI
ResponseEntity<String> exchange = restTemplate.exchange(requestEntity, String.class);
从Response中获取响应信息
log.info("Response Status: {}", response.getStatusCode());
log.info("Response Headers: {}", response.getHeaders().toString());
log.info("Coffee: {}", response.getBody());
获取带有泛型返回结果
使用ParameterizedTypeReference来捕获泛型结果,用法:.
// 创建ParameterizedTypeReference对象
ParameterizedTypeReference<List<String>> typeReference = new ParameterizedTypeReference<List<String>>(){};
// 调用RestTemplate的exchange方法,并传入typeReference参数
ResponseEntity<List<String>> responseEntity = restTemplate.exchange(requestEntity, typeReference);